Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/126.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ C++;检查类型是否具有具有特定签名的函数的标准方法_C++_C++11 - Fatal编程技术网

C++ C++;检查类型是否具有具有特定签名的函数的标准方法

C++ C++;检查类型是否具有具有特定签名的函数的标准方法,c++,c++11,C++,C++11,这个问题涉及: 此功能是由C++11标准实现的,还是需要使用自定义实现 这个功能是由C++11标准实现的吗 不,不是。实现类似的功能通常必须使用宏来完成,以便传入函数名 我需要使用自定义实现吗 可能不会。这种东西很少需要。您的潜在问题可能还有其他解决方案。我将提出您不需要此功能的想法。测试函数是否可以使用一组已知的参数而不是其签名调用。在C++中,任何函数调用都有一个无限数量的可能的签名,可以接受该调用。为什么只限于一个?@R.MartinhoFernandes在我的例子中,我需要检查是否存在具

这个问题涉及:

此功能是由C++11标准实现的,还是需要使用自定义实现

这个功能是由C++11标准实现的吗

不,不是。实现类似的功能通常必须使用宏来完成,以便传入函数名

我需要使用自定义实现吗


可能不会。这种东西很少需要。您的潜在问题可能还有其他解决方案。

我将提出您不需要此功能的想法。测试函数是否可以使用一组已知的参数而不是其签名调用。在C++中,任何函数调用都有一个无限数量的可能的签名,可以接受该调用。为什么只限于一个?@R.MartinhoFernandes在我的例子中,我需要检查是否存在具有一个特定类型参数的函数。我不想要任何类型转换、带有默认参数的函数、函子或任何可以接受调用的东西,但你是对的,一般来说,如果有什么东西可以接受调用或不接受调用,就应该做这个检查。@投票决定“太本地化”:关于std功能的问题怎么可能太本地化?使用一些SFINAE的东西。成员的例子:@阿尼默兹,我问是否有一些功能存在于C++标准中。我已经知道它是如何完成的(答案在另一个问题中给出)以及如何完成的。我需要实现一些机制,根据一些特性使用默认值初始化我的对象。如果traits类中存在“Initialize”函数,我必须在我的对象上调用它,否则我将保留构造函数中的值。这样做是为了避免从外部编辑器一次又一次地设置相同的值。我不确定我是否完全理解您想要实现的目标。你能不能用一个新问题详细说明一下?听起来是个有趣的问题:-)我在这里添加了一个新问题: