为什么这里会报”没有与参数列表匹配的 重载函数 "getline" 实例“ 的错误?
高洛峰
高洛峰 2016-11-07 14:53:47
0
1
2082

我在把C++primer中的433页代码照着敲到vs2015后,出现以下问题。

#include<vector>
#include<string>
#include<map>
#include<memory>
#include<set>

class QueryResult;
class TextQuery {
public:
    using line_no = std::vector<std::string>::size_type;
    TextQuery(std::ifstream&);
    QueryResult query(const std::string&) const;
private:
    std::shared_ptr<std::vector<std::string>> file;
    std::map <std::string, std::shared_ptr<std::set<line_no>>> wm;
};

TextQuery::TextQuery(std::ifstream &is) :file(new std::vector<std::string>)
{
    std::string text;
    while (getline(is, text)) {//这里getline会标红,出现前面所述的错误
        file->push_back(text);
        int n = file->size() - 1;
        istringstream line(text);//这里line会标红,报错:不允许使用不完整的类型
        std::string word;
        while (line >> word) {//这里>>会标红:禁止显示状态
没有与这些操作数匹配的 ">>" 运算符    


        }
    }
}


高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

reply all(1)
三叔
#include     // file stream#include     // string stream


Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template