【发布时间】:2014-07-27 19:59:16
【问题描述】:
此站点上还有其他使用 SFINAE 但使用非 C++11 代码的答案,还有其他使用 C++11 代码(如 decltypes)来简化此过程的答案。但是,我不确定如何检查一个类是否具有具有特定签名的函数。
我想检查一个类是否具有receive(const Event &) 函数,其中Event 是调用检查函数时指定的类类型。
【问题讨论】:
-
There are other answers on this site using SFINAE but with non C++11 code:不是真的,看看this -
我认为这不能正确回答我的问题,但如果您尝试像这样创建指向函数的函数指针,编译器似乎会抱怨:
void(Reciever::*func)(const Event &) = &Reciever::recieve; -
@user975989:你的问题真的不清楚。你的例子works for me。由 40two 链接的 answer 到底有什么问题?
-
没什么好说的,我只是想知道是否有一种不那么冗长的方式来使用 decltypes 等。之前没用过是因为不知道,是我的错。