Gar*_*Gal 0 c++ static managed-c++ visual-c++
在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 bit\create min bars from 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;
}
Run Code Online (Sandbox Code Playgroud)
在类中声明静态变量时,实际上不会创建任何内存.你需要一个单独的变量callout来实际为它创建RAM.这就是编译器告诉你的.
//Outside your class declaration:
int temp::temp1;
Run Code Online (Sandbox Code Playgroud)
编辑
定义静态成员变量
class temp
{
public:
static int temp1;
};
int temp::temp1 = 0;
// Fixed main() ;)
int main(int argc, char** argv)
{
temp::temp1=5;
return 0;
}
Run Code Online (Sandbox Code Playgroud)