此示例代码在c ++中无效:
#include <iostream>
#include <type_traits>
class Test
{
public:
void func();
};
int main()
{
std::cout << std::is_same<decltype(Test::func), //error, use &Test::func
void(Test::*)(void)>::value << std::endl;
}
但是在gcc (x86_64-posix-seh-rev1, Built by MinGW-W64 Project) 6.2.0
编译,
使用true
或Test::func
。
&Test::func
然而,它无法使用任何其他编译器进行编译,甚至无法使用GCC 6.2.0 here进行编译。
MinGW-W64有什么问题? MinGW-W64 GCC 5.3.0
也编译了这个。