ошибка 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;
я не понимаю, что случилось
Просто измените определение
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