我已经寻找了类似的问题,但没有一个在我需要的上下文中。奇怪的是,我得到了这个错误,但在代码中以同样的方式设置的不同项目似乎工作得很完美。
我正在尝试将图像加载到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");然后显示“cannot work\graphics\coursework\coursework\main.cpp(291):error C2664:'loadTexture‘:cannot convert parameter 1 from 'const char 24’to 'LPTSTR'”。
如上所述,我的另一个程序似乎允许这样做,因此,如果有一种方法可以修复它以运行它,我将不胜感激:)
发布于 2012-01-06 09:44:00
LPTSTR为char*或wchar_t*,具体取决于是否设置了Unicode宏(UNICODE、_UNICODE)。如果您将文字传递给该函数,则不应使用它(而应使用const char/wchar_t*,即LPCTSTR )。更改签名后,使用_T()或TEXT()宏将文字与类型匹配,即
GLuint loadTexture(LPCTSTR filename);
loadTexture(TEXT("texturelib/texture1.bmp"));https://stackoverflow.com/questions/8752388
复制相似问题