关于string迭代器的问题~~
#include<iostream>#include<string>#include<vector>#include<cctype>usingnamespacestd;i...
#include<iostream>
#include<string>
#include<vector>
#include<cctype>
using namespace std;
int main()
{
string s;
cin>>s;
if(string::iterator it=s.begin();it!=s.end();it++)
cout<<*it<<endl;
}我用string定义一个迭代器string::iterator it;为什么会出现错误~编译器通不过~而且string后边加::域作用符的时候不能自动弹出函数对话框,请问是什么原因,我用的vc++6.0的版本。 展开
#include<string>
#include<vector>
#include<cctype>
using namespace std;
int main()
{
string s;
cin>>s;
if(string::iterator it=s.begin();it!=s.end();it++)
cout<<*it<<endl;
}我用string定义一个迭代器string::iterator it;为什么会出现错误~编译器通不过~而且string后边加::域作用符的时候不能自动弹出函数对话框,请问是什么原因,我用的vc++6.0的版本。 展开
3个回答
2013-07-18
展开全部
for写成if了,string是basic_string的typedef,vc6不能自动识别typedef类型的成员信息,想要弹出框框,这样:
#include<iostream>
#include<string>
#include<vector>
#include<cctype>
using namespace std;
int main()
{
string s;
cin>>s;
for(basic_string<char>::iterator it=s.begin();it!=s.end();++it)
cout<<*it<<endl;
}
另外用迭代器遍历元素时,最好用前缀。
#include<iostream>
#include<string>
#include<vector>
#include<cctype>
using namespace std;
int main()
{
string s;
cin>>s;
for(basic_string<char>::iterator it=s.begin();it!=s.end();++it)
cout<<*it<<endl;
}
另外用迭代器遍历元素时,最好用前缀。
2013-07-18
展开全部
#include<iostream>
#include<string>
using namespace std;
int main()
{
string s;
cin>>s;
for (string::iterator it=s.begin();it!=s.end();it++)
cout<<*it<<endl;
return 0;
}
#include<string>
using namespace std;
int main()
{
string s;
cin>>s;
for (string::iterator it=s.begin();it!=s.end();it++)
cout<<*it<<endl;
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-07-18
展开全部
for(vector<string>::iterator it=s.begin();it!=s.end();it++)
应该这样
应该这样
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询