Const Char到LPTSTR

时间:2012-01-06 01:37:17

标签: opengl lptstr

我已经找到了类似的问题,但没有一个在我要求的上下文中。奇怪的是,我得到了这个错误,但在代码中设置的另一个项目似乎完全正常工作。

我正在尝试将图像加载到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):错误C2664:'loadTexture':无法将参数1从'const char [24]'转换为'LPTSTR'“

如上所述,我有另一个程序似乎允许它,如果有一种方法只是修复它来运行它,将不胜感激:)

1 个答案:

答案 0 :(得分:1)

LPTSTR可以是char*wchar_t*,具体取决于是否设置了Unicode宏(UNICODE_UNICODE)。如果您将文字传递给该函数,则不应使用它(并使用LPCTSTR代替,const char/wchar_t*)。更改签名后,使用_T()TEXT()宏将文字与类型匹配,即

GLuint loadTexture(LPCTSTR filename);
loadTexture(TEXT("texturelib/texture1.bmp"));