Pergunta

In VC++ CLR project I have a class temp. I am trying to set the static variable temp1 to 5.

I am getting a compilation error:

Error 32 error LNK2020: unresolved token (0A0005FB) "public: static int temp::temp1" (?temp1@temp@@2HA) C:\Users\user100\Documents\Visual Studio 2012\NewProject 32 bit\create min bars from data2\create min bars from data\create min bars from data5.obj

Error 33 error LNK2001: unresolved external symbol "public: static int temp::temp1" (?temp1@temp@@2HA) C:\Users\user100\Documents\Visual Studio 2012\NewProject 32 bit\create min bars from data2\create min bars from data\create min bars from data5.obj

How can I fix it?

class temp
{
    public:
    static int temp1;
};

int main(array<System::String ^> ^args)
{
    temp::temp1 = 5;
}
Foi útil?

Solução 2

Define your static member variable:

class temp
{
    public:
        static int temp1;
};

int temp::temp1 = 0;

// Fixed main() ;)
int main(int argc, char** argv)
{
        temp::temp1 = 5;
        return 0;
}

Outras dicas

When declaring a static variable within a class, no memory is actually created. You need a separate variable callout to actually make RAM for it. That is what the compiler is telling you.

//Outside your class declaration:
int temp::temp1;
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top