我设置了一个名为tagToken的类.
它有setter函数,一个是void setString(QString)
我已将其定义/声明为此类
.h文件
void setString(QString string);
Private:
QString stringOfTagToken ;
Run Code Online (Sandbox Code Playgroud)
.cpp文件
void tagToken::setString(QString string)
{
stringOfTagToken = string;
}
Run Code Online (Sandbox Code Playgroud)
当我尝试运行此代码时:
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++;
}
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
C:\ Dev\DiffMatchPatch\diffmatchpatch.cpp:316:错误:将'const tagToken'作为'this tagToken :: setString(QString)'的'this'参数传递'丢弃限定符[-fpermissive] temp.at(0).setString ("测试");
QVector的at函数返回的数据作为const.使用at时,你不想(意外)改变矢量数据,或operator[]一般.
temp[0].setString("test");
Run Code Online (Sandbox Code Playgroud)