2011-10-31 53 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

システム::文字列は、マネージクラスです。初期化するには、nullptrというキーワードを使用する必要があります。