2011-10-31 61 views
4

我在編譯器中收到錯誤c2440,但是我找不出是什麼原因造成的。編譯錯誤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; 

回答

4

託管類型在Managed C++中使用時,不使用星號(即*),而是我認爲它們被稱爲跟蹤句柄(即^)。 因此您的語句應該這樣寫:

String^ strFilename = nullptr; 
2
String *strFilename = "0"; 

String *strFilename = 0; 
+0

C++/CLI標籤和提^錯誤消息告訴我這些真的不是指針,他們把手。初始化爲0不會很好。 –

2

系統:: String是一個管理類。我相信你必須使用nullptr關鍵字來初始化它。