错误:'operator []'不匹配(操作数类型为'QVector <int>'和'QCharRef')

时间:2018-03-04 13:09:24

标签: c++ qt c++11

我试图分析qt5中的文件。

文件是向量,每个位置都有一行文件,而计数器是一个向量,我存储分析结果

  

错误:'operator []'不匹配(操作数类型为'QVector'和'QCharRef')

void FileAnalyzer(QVector<QString> &file,QVector<int> &counter)
{
    counter.resize(260);
    for(int row=0,lenFile=file.size();row<lenFile;row++)
    {
        for(int car=0;file[row][car]!='\0';car++)
        {
            if(file[row][car]==' ')contatore[256]++;//space
            counter[file[row][car]]++;//<-- here i get the error
            counter[259]++;
        }
        counter[257]++;//row
    }
    counter[257]++;//last row
    counter[258]=counter[256]+counter[257];//words number
}

1 个答案:

答案 0 :(得分:0)

这是因为您尝试使用QCharRef作为索引。您应该使用QChar代替:

counter[file[row].at(car).unicode()]++