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

관리되는 C++에서 사용되는 관리되는 유형은 별 (즉, *)을 사용하지 않고 추적 핸들 (예 : ^)이라고합니다. 이러한 명세서로 은 다음과 같이 기록한다 :

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

하지

String *strFilename = 0; 
+0

C++/CLI 태그와 언급^오류 메시지에 정말 그들이 핸들있어, 포인터하지 않은 날이 말의. 0으로 초기화하는 것은 좋지 않을 것입니다. –

2

시스템 :: 문자열은 관리 클래스입니다. 초기화하려면 nullptr 키워드를 사용해야합니다.