0

同様の問題を探しましたが、必要なコンテキストにはありません。これに関する奇妙なことは、このエラーが発生しても、同じ方法でコードに設定された別のプロジェクトが完全に機能しているように見えることです。

私はopenGLのテクスチャに画像を読み込もうとしており、このパラメータを受け取る関数があります:

GLuint loadTexture(LPTSTR szFileName);

次に、次のように呼び出します。

textureLib[0]= loadTexture("texturelib/texture1.bmp");
textureLib[1]= loadTexture("texturelib/texture2.bmp");
textureLib[2]= loadTexture("texturelib/texture3.bmp");
textureLib[3]= loadTexture("texturelib/texture4.bmp");

次に、「1> e:\usb\uni work\graphics\coursework\coursework\main.cpp(291): error C2664: 'loadTexture' : cannot convert parameter 1 from 'const char [24]' to 'LPTSTR'」と表示されます"

上で述べたように、私が持っている別のプログラムはそれを許可しているように見えるので、それを実行するように修正する方法があれば、それをいただければ幸いです:)

4

1 に答える 1

1

LPTSTRUnicode マクロが設定されているかどうか ( 、 ) に応じて、char*またはのいずれかになります。また、その関数にリテラルを渡す場合は、それを使用しないでください (代わりに を使用してください)。署名を変更した後、またはマクロを使用してリテラルを型に一致させます。wchar_t*UNICODE_UNICODELPCTSTRconst char/wchar_t*_T()TEXT()

GLuint loadTexture(LPCTSTR filename);
loadTexture(TEXT("texturelib/texture1.bmp"));
于 2012-01-06T01:44:00.323 に答える