c ++ QVector/Vector问题... const ...丢弃限定符

thi*_*not 2 c++ qt

我设置了一个名为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 ("测试");

asc*_*ler 6

QVectorat函数返回的数据作为const.使用at时,你不想(意外)改变矢量数据,或operator[]一般.

temp[0].setString("test");
Run Code Online (Sandbox Code Playgroud)