我假设 std::hash 对泛型指针类型的专门化可用于指向成员的指针,但是我不能这样使用它;相反,我的编译器给了我一个“不完整类型”错误,我认为这意味着'没有使用 std::hash 的专门化指针?这里发生了什么?
#include <functional>
struct foo{
void bar(int a){}
};
int main(){
std::hash<void (foo::*)(int)> hasher;
}
错误:
..\src\m.cpp:43:32: error: aggregate 'std::hash<void (foo::*)(int)> hasher' has incomplete type and cannot be defined