错误LNK2001:未解析的外部符号" public:static int WrappedVector :: _ N" (?_N @ @@ WrappedVector 2HA)
header.h
struct WrappedVector
{
static int _N;
double *_x;
};
的main.cpp
const int WrappedVector::_N = 3;
我不明白什么是错的
答案 0 :(得分:1)
只需更改定义
即可 int WrappedVector::_N = 3; // Note no const
或声明
struct WrappedVector {
static const int _N;
// ^^^^^
double *_x;
};
一致。
如果您需要后一种形式(static const int
),您也可以直接在声明中初始化它:
struct WrappedVector {
static const int _N = 3;
// ^^^
double *_x;
};