В проекте VC ++ CLR у меня есть класс temp,
Я пытаюсь установить статическую переменную temp1 на 5.
Я получаю ошибку компиляции:
Ошибка 32, ошибка LNK2020: неразрешенный токен (0A0005FB) «public: static
int temp :: temp1 «(? temp1 @ temp @@ 2HA) C: \ Users \ user100 \ Documents \ Visual
Studio 2012 \ NewProject 32 бит \ создать мин бары из data2 \ создать мин
бары из данных \ создать мин бары из data5.objОшибка 33 ошибка LNK2001: неразрешенный внешний символ «public: static int
temp :: temp1 «(? temp1 @ temp @@ 2HA) C: \ Users \ user100 \ Documents \ Visual
Studio 2012 \ NewProject 32 бит \ создать мин бары из data2 \ создать мин
бары из данных \ создать мин бары из data5.obj
Как я могу это исправить?
class temp
{
public:
static int temp1;
};
int main(array<System::String ^> ^args)
{
temp::temp1=5;
}
редактировать
Определите вашу статическую переменную-член
class temp
{
public:
static int temp1;
};
int temp::temp1 = 0;
// Fixed main() ;)
int main(int argc, char** argv)
{
temp::temp1=5;
return 0;
}
При объявлении статической переменной в классе память фактически не создается. Вам нужна отдельная переменная выноска, чтобы фактически сделать для нее ОЗУ. Это то, что говорит вам компилятор.
//Outside your class declaration:
int temp::temp1;