首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >是否可以编写一个模板来检查函数的存在?

是否可以编写一个模板来检查函数的存在?

提问于 2017-12-21 11:53:35
回答 2关注 0查看 270

是否有可能编写一个模板来改变行为取决于某个成员函数是否定义在一个类上?

以下是我想写的一个简单例子:

代码语言:txt
复制
template<class T>
代码语言:txt
复制
std::string optionalToString(T* obj)
代码语言:txt
复制
{
代码语言:txt
复制
    if (FUNCTION_EXISTS(T->toString))
代码语言:txt
复制
        return obj->toString();
代码语言:txt
复制
    else
代码语言:txt
复制
        return "toString not defined";
代码语言:txt
复制
}

所以,如果class T已经toString()定义,那么它使用它; 否则,它不。我不知道怎么做的神奇的部分是“FUNCTION_EXISTS”部分。

相关文章

相似问题

相关问答用户
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档