簡體   English   中英

在C ++中使用std :: getline()簽名錯誤

[英]Signature error using std::getline() in C++

這是我的代碼:

    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&)'

但是,我找不到問題所在。 參數正確嗎?

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

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

聲明流const並沒有多大意義,因為每次讀取或寫入都會修改流狀態。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM