编译器错误C2440

时间:2011-10-31 13:46:01

标签: .net visual-c++ c++-cli compiler-errors

我在编译器中遇到错误c2440,但我无法弄清楚导致它的原因。

这是错误:

Error 2 error C2440: 'initializing' : cannot convert from 'int' to 'System::String ^'   c:\users\***.****\documents\visual studio 2005\projects\cpas1\cpas1\Form1.h 1083

这是相关的代码:

String *strFilename = 0;

3 个答案:

答案 0 :(得分:4)

托管类型,当在托管C ++中使用时,不使用星号(即*),相反我认为它们被称为跟踪句柄(即^)。 因此,您的陈述应如下所示:

String^ strFilename = nullptr;

答案 1 :(得分:2)

String *strFilename = "0";

String *strFilename = 0; 

答案 2 :(得分:2)

System :: String是托管类。我相信您必须使用nullptr关键字对其进行初始化。