C++ type traits to check if class has operator/member
本问题已经有最佳答案,请猛点这里访问。
Possible Duplicate:
Is it possible to write a C++ template to check for a function's existence?
是否可以使用Boost类型特征或其他机制检查特定模板参数是否具有运算符/函数,例如,作为模板参数的
你不能通过类型特征来解决这个问题,因为你必须为每个可能的名字定义if。
下面列出了常见的解决方案,但有一个问题:许多STL实现将公共代码放在基类中,而此方法不检查继承的名称。
如果您还需要检查继承的成员,请参见此处。答案提供了一个解决方案,用于检查相关类是否具有该名称的成员,还可以检查常量和参数计数。但是,它无法检查包括参数和返回类型在内的完整签名,并且成员可见性也没有什么区别。您应该能够通过使用链接的