由于静态断言失败错误,我无法声明unordered_map。首先,什么是静态断言?我搜索了答案,但文档对我来说是不可理解的。这是宣言:
std::unordered_map<Point3D<int>, int> tree;
这是结构Point3D
template <class T>
struct Point3D
{
public:
T x, y, z;
Point3D(T _x, T _y, T _z) : x(_x), y(_y), z(_z)
{
}
};
我可以或应该做些什么才能让它发挥作用?
谢谢! :)
答案 0 :(得分:1)
这在Visual Studio 2010中为我编译好了:
#include <unordered_map>
template <class T>
struct Point3D
{
public:
T x, y, z;
Point3D(T _x, T _y, T _z) : x(_x), y(_y), z(_z)
{
}
};
std::unordered_map<Point3D<int>, int> tree;