是否有可能编写一个模板来改变行为取决于某个成员函数是否定义在一个类上?
以下是我想写的一个简单例子:
template<class T>
std::string optionalToString(T* obj)
{
if (FUNCTION_EXISTS(T->toString))
return obj->toString();
else
return "toString not defined";
}
所以,如果class T已经toString()定义,那么它使用它; 否则,它不。我不知道怎么做的神奇的部分是“FUNCTION_EXISTS”部分。
相似问题