invalid conversion from 'const char*' to char*

在Qt写一个程序的时候忽然遇到这个问题。意思是说const char*向char*的转换是不允许的。
使用Qt来举个例子:

QString qstr("This is a test!");
char* str = qstr.toStdString.data();

这样就会报上面的错了,如果换成:

QString qstr("This is a test!");
const char * str  = qstr.toStdString.data();

这就没有错了。很显然,qstr.toStdString.data的返回值是const char*型。
这样就带来一个麻烦,就是如果我们要对str进行修改什么操作的话就不可行了,只能另外再建立一个字符数组来复制str所指向的字符串了。

你可能感兴趣的:(C/C++)