首页| 论坛| 消息

标题:QT与vc++差异
作者:wysxmu
日期:2018-06-01 16:43
内容:

///////////////////////////////////以下为QT5.6+VS2015编译器//////////////////////////////////////////////////
#include
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
char* p="abc";//这里报错: C2440: “初始化”: 无法从“const char [4]”转换为“char *”
return a.exec();
}


///////////////////////////////////以下为VS C++ 2015 //////////////////////////////////////////////////
#include "stdafx.h"
#include
#include
using namespace std;
int main()
{
char* p= "abc\0";//编译正常运行
cout > p;
return 0;
}

编译器一样的,为什么Qt的通不过呢


#1 [cliiiiii 06-02 10:33]
我猜想可能是qt的库函数做了些特殊处理。。。。
#2 [白黎昕 06-02 11:55]
怎么说呢,感觉Qt还是做了人性化处理,使得C++图形化应用程序的开发更加简单,MFC封装的挺好,可以直接调用Windows API,但是就是因为将Windows API封装在了MFC中,使得MFC开发变得困难了不少。各种Windows消息,弄得头都大了,感觉还是QT亲民,为QT点个赞。QT加油,图形化界面市场就靠你拿下了。
#3 [ustone 06-02 13:24]
char* p="abc";
改成
const char* p="abc";
试试。
#4 [dbzhang800 06-05 19:20]
Qt5.6 默认启用了 编译器的 /Zc:strictStrings 选项,仅此而已。(如果你实在不喜欢,去掉就是了)

另外,使用VS时,建议你始终使用该选项。

回复 发表
主题 版块