这个问题可能是非常基本的,但今天我遇到了一个错误:
“QChar:将'const QChar‘作为'QChar& QChar::operator=(const &)’丢弃限定符‘的'this’参数
“我不知道这种辅助如何取消字符串复制Qt预定义的字符串的资格”。
当我使用以下代码将所需数据从一个字符串复制到另一个字符串时
for(int i=reqposition;;i++)
{
if(data.at(i)==',')
break;
temp.at(j)=data.at(i); // ERROR IS HERE
j++;
}这段代码有什么问题。是否有其他有效的方法将数据从一个字符串从指定的索引复制到另一个字符串。我该如何解决这个问题。
耽误您时间,实在对不起!
发布于 2012-03-02 17:38:06
const QChar QString::at(int position);问题是,您没有分配给字符串,而是分配给了const QChar调用的QString::at(int)结果。
您需要一个可修改的引用:来自QString文档:
QCharRef QString::operatorint位置将字符串中指定位置的字符作为可修改的引用返回。示例: QString str; if (str == QChar('?'))str = QChar('_');返回值为QCharRef类型,是QString的助手类。当您得到一个QCharRef类型的对象时,您可以像使用QChar &一样使用它。如果分配给它,则分配将应用于从QString中获得引用的字符。
发布于 2012-03-02 17:33:16
返回一个const QChar。
使用temp[j]=data.at(i);
发布于 2012-03-02 17:33:32
您可能正在寻找来自QString 这里的QString方法。
返回包含此字符串的n个字符的字符串,从指定的位置索引开始。
https://stackoverflow.com/questions/9537711
复制相似问题