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);
    }

最後から 3 行目の 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 に答える