gpt4 book ai didi

c++ - 检查模板参数是否有成员函数

转载 作者:太空狗 更新时间:2023-10-29 23:09:40 27 4
gpt4 key购买 nike

<分区>

Possible Duplicate:
Is it possible to write a C++ template to check for a function's existence?

这与我的 earlier question 非常相似.我想检查模板参数是否包含成员函数。

我试过这段代码,类似于我在上一个问题中接受的答案中的代码。

struct A
{
int member_func();
};

struct B
{
};

template<typename T>
struct has_member_func
{
template<typename C> static char func(???); //what should I put in place of '???'
template<typename C> static int func(...);

enum{val = sizeof(func<T>(0)) == 1};
};

int main()
{
std::cout<< has_member_func<B>::val; //should output 0
std::cout<< has_member_func<A>::val; //should output 1
}

但我不知道应该用什么代替 ??? 才能使其正常工作。我是 SFINAE 概念的新手。

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com