1

这是我的代码:

    std::string currentItem;
    char delimeter = '=';

    std::vector<std::string> afterSplit;
    for (int i =0; i<linesOfConfigFile.size(); i++)
    {
        const std::stringstream singleLine(linesOfConfigFile[i]);

        while(std::getline(singleLine, currentItem, delimeter))
            afterSplit.push_back(currentItem);
    }

我在倒数第三行的 getline 函数调用中遇到错误。编译器说:

no matching function for call to getline(const std::stringstream&, std::string&, char&)'

但是,我找不到问题所在。参数是否正确?!

4

1 回答 1

5
std::stringstream singleLine(linesOfConfigFile[i]);

不是

const std::stringstream singleLine(linesOfConfigFile[i]);

声明流 const 没有多大意义,因为每次读取或写入都会修改流状态。

于 2013-05-06T14:21:34.310 回答