请C++高手指导 IntelliSense: 缺少 类模板 "std::iterator" 的参数列表 。如何添加类模板到集成环境

#include<algorithm>
#include<cassert>
#include<cstddef>
#include<fstream>
#include<functional>
#include<iterator>
#include<string>
#include<vector>
#include<iostream>
#include"require.h"
using namespace std;

int main(int argc,char* argv[])
{
char* fname="FindBlanks.cpp";
if(argc>1)fname=argv[1];
ifstream in(fname);
assure(in,fname);
vector<string>vs;
string s;
while(getline(in,s))
vs.push_back(s);
vector<string>cpy=vs;
vector<string>;;iterator lsi=find_if(vs.begin(),vs.end(),mem_fun_ref(&string::empty));
while(lsi!=vs.end()){
*lsi="A BLANK LINE";
lsi=find_if(vs.begin(),vs.end(),mem_fun_ref(&string::empty));
}
for(size_t i=0;i<cpy.size();i++)
if(cpy[i].size()==0){
assert(vs[i]=="A BLANK LINE");
cout<<"A BLANK LINE"<<endl;
}
else
assert(vs[i]!="A BLANK LINE");
}

第1个回答  推荐于2018-04-07
std::vector<char>::iterator q; //char替换成你需要的参数类型,q替换成你的迭代器名,不在前面在using,写在main函数前面,试试看本回答被网友采纳
第2个回答  2012-05-30
vector<string>;;iterator
这里拼写错误, vector<string>::iterator, 中间是2个冒号追问

汗,这是粘贴时自动变的。。。求指教哦!你运行能运行正确吗

追答

"缺少 类模板 "std::iterator" 的参数列表 " 就是那个拼写错误造成的啊.
编译没问题, 运行的话我又没有"require.h"

追问

什么哦,给我仔细讲讲!谢谢

本回答被网友采纳

请C++高手指导 IntelliSense: 缺少 类模板 "std::iterator" 的参数列...
std::vector<char>::iterator q; \/\/char替换成你需要的参数类型,q替换成你的迭代器名,不在前面在using,写在main函数前面,试试看

c++程序出错:缺少 类模板 "std::complex" 的参数列表
模板必须带类型参数 不能单独出现complex,必须complex<TYPE>

怎么解决 c++ 没有与参数列表匹配的 重载函数
std::string& s);\/\/但是你调用了int i=1,j=2;bool ok=isGood(i,j); \/\/这里就会说“没有与参数列表匹配的重载函数”\/\/因为三个重载函数没有接受两个整数的\/\/你给的参数列表没法和其中的某个匹配

VC++中"using namespace std"有什么用的
std是一个命名空间。C++中引入命名空间的主要是为了处理程序中常见的命名冲突,它是由ANSI C++引入的可以由用户命名的作用域。所谓命名空间,实际上就是一个由程序设计者命名的内存区域 ,程序设计者可以根据需要指定一些有名字的空间域,把一些全局实体分别放在各个命名空间中,从而与其它全局实体分隔开来。

相似回答