读书人

一个简单的C++容器有关问题的一个有关

发布时间: 2012-08-13 13:21:53 作者: rapoo

一个简单的C++容器问题的一个问题的探讨
#include <iostream>
#include <vector>
#include <string>
using namespace std;
int main()
{
string a;
vector<string> b;
while(cin>>a )//这样写没有问题,可是如果我是这么写的while(cin>>a&&a!="0" )或这么来写while(cin>>a&&a!"a")
b.push_back(a);
for(vector<string>::iterator iter=b.begin();iter != b.end() ;iter++)
cout << *iter<<" ";
return 0;
}

编译器会出现很多警告,谁能帮我解释下,问题出现在哪里啊?
自己写的另一种代码:
#include <iostream>
#include <vector>
#include <string>
using namespace std;
int main()
{
string a;
vector<string> b;
while(cin>>a&&a!="ab" )//while(cin >>a)结果也一样~~~
b.push_back(a);
for(vector<string>::iterator iter1=b.begin(),iter2=b.end();iter1 != iter2 ;iter1++)
cout << *iter1<<" ";
return 0;
}
也会出现很多警告,谁能帮我看下分析下,能否通过什么方式去除警告,小弟不胜感激~

[解决办法]
这样写试下:while(cin>>a&&a!=string("0") )
这个还跟编译器有关:如vc6.0就对STL支持不太好
[解决办法]
没警告

读书人网 >C++

热点推荐