错误LNK2001:无法解析的外部符号“ public:static int WrappedVector :: _ N”(?_N @ WrappedVector @@ 2HA)
头文件
struct WrappedVector
{
static int _N;
double *_x;
};
main.cpp
const int WrappedVector::_N = 3;
我不明白怎么了
最佳答案
只需更改定义
int WrappedVector::_N = 3; // Note no const
见LIVE DEMO1
或声明
struct WrappedVector {
static const int _N;
// ^^^^^
double *_x;
};
见LIVE DEMO2
始终如一。
如果需要后一种形式(
static const int
),也可以直接在声明中对其进行初始化: struct WrappedVector {
static const int _N = 3;
// ^^^
double *_x;
};
见LIVE DEMO3