未解决的外部符号结构

时间:2014-11-18 18:21:41

标签: c++ c visual-studio

错误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;

我不明白什么是错的

1 个答案:

答案 0 :(得分:1)

只需更改定义

即可
 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