C++ c++;矢量/矢量问题。。。常数。。。丢弃限定符
我设置了一个名为tagToken的类 它有setter函数,一个是void setString(QString) 我已将其定义/声明为 .h文件C++ c++;矢量/矢量问题。。。常数。。。丢弃限定符,c++,qt,C++,Qt,我设置了一个名为tagToken的类 它有setter函数,一个是void setString(QString) 我已将其定义/声明为 .h文件 void setString(QString string); Private: QString stringOfTagToken ; .cpp文件 void tagToken::setString(QString string) { stringOfTagToken = string; } 当我尝试运行此代码时: if
void setString(QString string);
Private:
QString stringOfTagToken ;
.cpp文件
void tagToken::setString(QString string)
{
stringOfTagToken = string;
}
当我尝试运行此代码时:
if (linePosition == 1)
{
QVector<tagToken> temp(0);
//errors
//temp.at(0).setString(line);
temp.at(0).setString("test");
//tags.at(0).setString(line);
//tags.push_back();
tagTokenCounter++;
}
if(linePosition==1)
{
矢量温度(0);
//错误
//(0)设置管柱(管线)处的温度;
(0)设置管柱的温度(“试验”);
//tags.at(0).setString(行);
//tags.push_back();
tagTokenCounter++;
}
我得到这个错误:
C:\Dev\DiffMatchPatch\DiffMatchPatch.cpp:316:错误:将'const tagToken'作为'void tagToken::setString(QString)'的'this'参数传递将丢弃限定符[-fppermissive]
(0)设置管柱的温度(“试验”) QVector::at()返回数据的常量ref,不能在该数据上调用像setString这样的非常量方法
从
常量T&QVector::at(int i)常量
返回向量中索引位置i处的项。
i必须是向量中的有效索引位置(即,0QVector
)函数将数据返回为const
。如果不想(意外)更改向量数据,请使用at
,或者通常使用运算符[]
temp[0].setString("test");
temp[0].setString("test");