1
我使用Eclipse作为IDE来开发C++程序。无法解析符号“hash”
我声明如下结构:
struct std::hash<SomeObject>;
但是,我得到的错误信息:符号“哈希”无法解析
任何人都可以帮我在这?
由于
我使用Eclipse作为IDE来开发C++程序。无法解析符号“hash”
我声明如下结构:
struct std::hash<SomeObject>;
但是,我得到的错误信息:符号“哈希”无法解析
任何人都可以帮我在这?
由于
您可能不使用C++ 11,其引入的std::hash
类型。您可以将支持标志(-std=c++11
)添加到您的编译器选项,有关更多信息,请参阅this post。
即使找到该符号,该行也不会按原样编译。 如果你正在声明一个实例,你需要给它一个名字,否则它认为你是前向声明一个类型。否则,您可以使用typedef
或using
来命名该类型。
#include <functional>
// if you want to declare an instance
struct std::hash<SomeObject> aHashInstance;
// for types, one of:
typedef std::hash<SomeObject> MyHash;
using MyHash = std::hash<SomeObject>;
你已经在文件顶部有#include了吗? –
是的,包括在内 – xwang