0

可能重复:
是否可以编写 c++ 模板/宏来检查两个函数是否具有相同的签名

是否可以编写 c++ 模板/宏来检查两个成员函数在编译时是否具有相同的签名(返回类型和参数列表)?

我想要这样的东西:

CHECK_SIGNATURES(Foo, foo, Bar, bar);

如果 Foo::foo 和 Bar::bar 函数具有不同的返回类型或参数列表,则编译失败。

4

1 回答 1

0

尝试以下操作:

template <class T>
bool same(T, T) { return true; }

template <class T, class U>
bool same(T, U) { return false; }

或者,也许您可​​以在重复问题std::is_same的答案中使用 like 。

于 2013-01-27T14:35:59.590 回答