[MFC_Debug] error C2664: 'MessageBoxW' : 매개 변수 2을(를) 'const char [11]'에서 'LPCWSTR'(으)로 변환할 수 없습니다.
★━─…C/C++/MFC 2008. 10. 20. 19:43
■ Source
#include <windows.h>
int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPreInstance,
LPSTR lpCmdLine, int nShowCmd)
{
MessageBox(NULL, "안녕하세요", "안녕", MB_OK);
return 0;
}
■ Error Message :
error C2664: 'MessageBoxW' : 매개 변수 2을(를) 'const char [11]'에서 'LPCWSTR'(으)로 변환할 수 없습니다.
■ 발생 원인
프로젝트 속성의 문자집합에서 "유니코드 문자 집합 사용" 으로 되어있기 때문이다.
MessageBox() 함수 안에 2번째, 3번째 매개변수가 유니코드 형식을 사용하지 않기 때문.
■ 해결 방법
1. 프로젝트 옵션에서 문자집합 옵션을 바꿔준다.
cf) "유니코드 문자 집합을 사용" : 유니코드 사용
"멀티 바이트 문자 집합 사용" : ANSI 사용
2. MessageBox() 함수 대신에 MessageBoxA() 함수를 사용해 준다.