나는 DirectX9로 간단한 프로젝트를 진행하고있다. 데이터 유형 변환에 약간의 걸림돌이 있습니다. 몇 가지 조사를 해봤지만 특별히 유용한 것은 없습니다. 의 코드부터 시작하자 :LPCWSTR char * 및 그 반대로
라인 6에서LPDIRECT3DSURFACE9 LoadSurface(char *fileName, D3DCOLOR transColor)
{
LPDIRECT3DSURFACE9 image = NULL;
D3DXIMAGE_INFO info;
HRESULT result;
result = D3DXGetImageInfoFromFile(fileName, &info);
if (result != D3D_OK) return NULL;
result = d3ddev->CreateOffscreenPlainSurface(
info.Width, //width of the surface
info.Height, //height of the surface
D3DFMT_X8R8G8B8, //surface format
D3DPOOL_DEFAULT, //memory pool use
&image, //reference to image
NULL); //reserved - ALWAYS NULL
//make sure file loaded properly
if (result != D3D_OK) return NULL;
return image;
}
, 내가 변수 파일 이름 오류를 받고 있어요 :
인텔리 : 유형 "의 char *"의 인수가 "LPCWSTR"유형의 매개 변수와 호환되지 않습니다
메시지 박스의 사용하려고 할 때 나는 또한 두 번째와 세 번째 매개 변수에 동일한 오류 메시지가: 정확히 BEF처럼 내가 사용한 적이
if (d3ddev == NULL)
{
MessageBox(hWnd, "Error Creating Direct3D Device", "Error", MB_ICONERROR);
return 0;
}
코드를 광석과 아무런 문제가 없었다. 무슨 일이 벌어지고 있는지 전혀 알지 못합니다. 특히 LPCWSTR과 char *는 본질적으로 같은 것이기 때문에 ...
어떤 도움을 주시면 감사하겠습니다! 고마워요
LPCSTR 및 char * i가 동의 할 수도 있지만 LPCWSTR? 아니. – Borgleader
* LPCWSTR과 char *가 본질적으로 동일하기 때문에 어떤 일이 벌어지는 지 알지 못합니다. * - ** 아니요, 그들은 ** – PaulMcKenzie
[이 Q/A] (http://stackoverflow.com/questions)가 아닙니다./3924926/can-convert-parameter-1-char-to-lpcwstr? rq = 1) 질문에 대한 답변을 얻을 수 있습니다. (두 번째 대답을보고, API가 유니 코드를 기대하지 않도록 프로젝트 구성을 변경하십시오.) – alain