error C2664
제 환경은 Visual Studio 2005 이고.
책은 처음 Visual Studio .NET 첫 버젼기반으로 쓰여졌더군요
void ChelloDlg::OnBnClickedHello()
{
MessageBox("Heelo");
}
여기서 에러가
1>c:\documents and settings\administrator\my documents\visual studio 2005\projects\hello\hello\hellodlg.cpp(165) : error C2664: 'CWnd::MessageBoxW' : 매개 변수 1을(를) 'const char [6]'에서 'LPCTSTR'(으)로 변환할 수 없습니다.
1> 가리킨 형식이 관련이 없습니다.변환하려면 reinterpret_cast, C 스타일 캐스트 또는 함수 스타일 캐스트가 필요합니다.
이렇게 발생하는데..어떻게 잡아야할까요?
===============================================================================================
예를 들어 MessageBox("Hello world"); 를 추가한다고 했을 때
error C2664: .... 'const char []' 에서 'LPCTSTR'로 바꿀 수 없다는 에러가 나온다.
Character Set이 vc 6.0이나 2003에서는 Use Multi-Byte Character Set인데, 2005에서는
Use Unicode Character Set이라 발생하는 문제라고 한다.
그래서 프로젝트 -> 속성 -> 구성속성 -> 프로젝트 기본값(문자 집합)에서===>(vc.6일 경우)
프로젝트 -> 속성 -> 일반 -> 문자집합-(vc++ 2010년 버전)
해당 값을 유니코드 문자 집합 사용에서 멀티바이트 문자 집합 사용으로 체크해 주면 됩니다.