Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/162.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何为托管C+;中的静态变量赋值+;上课?_C++_Visual C++_Static_Managed C++ - Fatal编程技术网

C++ 如何为托管C+;中的静态变量赋值+;上课?

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

在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创建最小条形图

我怎样才能修好它

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;
int main(数组^ ^ ARGs)< /C> >对我来说不象C++。“初始化”不是正确的词。我认为“定义”会更好。声明(在
中)告诉编译器某处存在某个东西(因此可以对其进行编译)。定义(使用作用域解析运算符
)告诉编译器它存在的位置(以便可以链接它)。