C++运行时出错,请大侠指导:error C2275: "std::ifstream": 将此类型用作表达式非法

错误代码行:vector<string> svec=store_file(ifstream &is);

ifstream是一种类型,C++在调用函数的时候,参数不用写类型的。所以你这里只要写成
vector<string> svec=store_file(is);

就可以了。

C++在函数的声明和定义中才需要写参数的类型。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-09-25
vector对象有四种初始化的方式,但是没有你这种。具体哪四种可以看书。如果你想往vector对象中添加元素,可以调用push_back()这个函数。比如
string s;
while(cin>>s)
svec.push_back(s);

如果想从文件中输入,可以先用getline()函数获取整行单词,然后创建一个stringstream对象存储每行的单词,再调用push_back()函数一一添加到vector对象中。
第2个回答  2013-09-25
你这是要向容器里添加什么东东?初始化可以是vector<string> svec("xxxx");
还有svec.push_back("xxx")等等,
相似回答