首页 > 其他 > 详细

Error:"_TCHAR**"的实参与"char**"的形参不兼容

时间:2015-04-11 11:54:44      阅读:439      评论:0      收藏:0      [点我收藏+]

使用VS2010编写自己的第一个openGL代码遇到了这样的问题

#include "stdafx.h"
#include "glut.h"

int _tmain(int argc, _TCHAR* argv[])
{
	glutInit(&argc,argv);//Error:"_TCHAR**"的实参与"char**"的形参不兼容
	return 0;
}

在网上搜索了一些解决方法,自己总结如下:

char是C语言标准数据类型,字符型,至于由几个字节组成通常由编译器决定,一般一个字节。

Windows为了消除各编译器的差别,重新定义了一些数据类型,char和tchar就是这样。

CHAR为单字节字符。还有个WCHAR为Unicode字符,即不论中英文,每个字有两个字节组成。

如果当前编译方式为ANSI(默认)方式,TCHAR等价于CHAR,如果为Unicode方式,TCHAR等价于WCHAR。LPCSTR 相当于CONST CHAR * 和LPSTR 相当于CHAR *。


故我们可推测,此时编译方式出现问题,因此我们设置一下编译方式即可。

采用将编译方式设置为ANSI,项目->属性->项目默认值->字符集,然后把UNICODE选成多字节,重新编译,这样我们就完成了设置,并且Error得到了解决。

Error:"_TCHAR**"的实参与"char**"的形参不兼容

原文:http://10115411.blog.51cto.com/10105411/1631144

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!