#include"iostream"
#include"vector"
#include"string"
using std::string;
using std::cin;
using std::cout;
using std::endl;
using std::vector;
using namespace std;
void main()
{
string s;
vector <string> y;
cin>>s;
y.push_back(s);
for(vector<int>::iterator ix=y.begin();ix!=y.end;++ix)
{
cout<<*ix;
}
cout<<endl;
}
哪里错的 帮忙!
參考答案:太粗心:
#include"iostream" // 不规范的标准库头文件包含写法
#include"vector"
#include"string"
using std::string;
using std::cin;
using std::cout;
using std::endl;
using std::vector;
using namespace std; // 这一句多余...
void main() // ********C++里没有void main的写法,改成int main
{
string s;
vector <string> y;
cin>>s;
y.push_back(s);
// **********下面的iterator应该是vector<string>类的,你写成了int
// **********另外ix != y.end也错,应该是ix != y.end()
for(vector<int>::iterator ix=y.begin();ix!=y.end;++ix)
{
cout<<*ix;
}
cout<<endl;
}
帮你改好了,另外注意下一些C++的规范性写法,如标准库头文件的包含形式和main的返回值:
#include <iostream>
#include <vector>
#include <string>
using std::string;
using std::cin;
using std::cout;
using std::endl;
using std::vector;
int main()
{
string s;
vector <string> y;
cin >> s;
y.push_back(s);
for(vector<string>::iterator ix = y.begin(); ix != y.end(); ++ix)
{
cout << *ix;
}
cout << endl;
}