C++ 如何为托管C+;中的静态变量赋值+;上课?
在VC++CLR项目中,我有一个类temp。我试图将静态变量temp1设置为5 我收到一个编译错误: 错误32错误LNK2020:未解析令牌(0A0005FB)“公共:静态 内部温度::温度1“(?)?temp1@temp@@2HA)C:\Users\user100\Documents\Visual Studio 2012\NewProject 32位\create min bars from data2\create min 来自数据的条形图\从data5.obj创建最小条形图 错误33错误LNK2001:未解析的外部符号“public:static int” temp::temp1“(?)?temp1@temp@@2HA)C:\Users\user100\Documents\Visual Studio 2012\NewProject 32位\create min bars from data2\create min 来自数据的条形图\从data5.obj创建最小条形图 我怎样才能修好它C++ 如何为托管C+;中的静态变量赋值+;上课?,c++,visual-c++,static,managed-c++,C++,Visual C++,Static,Managed C++,在VC++CLR项目中,我有一个类temp。我试图将静态变量temp1设置为5 我收到一个编译错误: 错误32错误LNK2020:未解析令牌(0A0005FB)“公共:静态 内部温度::温度1“(?)?temp1@temp@@2HA)C:\Users\user100\Documents\Visual Studio 2012\NewProject 32位\create min bars from data2\create min 来自数据的条形图\从data5.obj创建最小条形图 错误33错误L
class temp
{
public:
static int temp1;
};
int main(array<System::String ^> ^args)
{
temp::temp1 = 5;
}
class-temp
{
公众:
静态int-temp1;
};
int main(数组^args)
{
温度:温度1=5;
}
定义静态成员变量:
class temp
{
public:
static int temp1;
};
int temp::temp1 = 0;
// Fixed main() ;)
int main(int argc, char** argv)
{
temp::temp1 = 5;
return 0;
}
在类中声明静态变量时,实际上不会创建内存。您需要一个单独的变量标注来实际为其创建RAM。这就是编译器告诉你的
//Outside your class declaration:
int temp::temp1;
类
中)告诉编译器某处存在某个东西(因此可以对其进行编译)。定义(使用作用域解析运算符:
)告诉编译器它存在的位置(以便可以链接它)。