template<typename T>
class TD;
struct foo {
float bar(float a, float b) { return a*b; }
};
...
auto p = &foo::bar; // [1]
//TD<decltype(p)> fpType; // [2]
在第2行被注释掉的情况下,QT Creator 4.8.0在调试器中将p显示为类型float (foo::*)(foo * const, float, float)
。
在第2行未注释的情况下,编译器错误将p显示为类型float (foo::*)(float, float)
。
我认为正确的类型是float (foo::*)(float, float)
,这是QT Creator错误吗?
编译器为G ++ 7.3.0。