为什么这个程序不能结果呢? 谢谢
include<iostream>
#include<vector>
#include<string>
using namespace std;
void main()
{
const size_t arr_size=8;
int int_arr[arr_size];
for(size_t ix=0;ix!=arr_size;++ix)
cin>>int_arr[ix];
vector<int> ivec(int_arr,int_arr+arr_size);
for(vector<int>::iterator iter=ivec.begin();iter!=ivec.end();++iter)
cout<<*(ivec[iter]);
}
为什么这个程序不能结果呢? 谢谢
[解决办法]
iter是迭代器,不是整数可以拿去当下标
类时指针,
cout << *iter;
[解决办法]
#include <iostream>
#include <vector>
#include <string>
using namespace std;
int main(void)
{
const size_t arr_size=8;
int int_arr[arr_size];
for(size_t ix=0;ix!=arr_size;++ix){
cin > > int_arr[ix];
}
vector <int> ivec(int_arr,int_arr + arr_size);
for(vector <int> ::iterator iter=ivec.begin();iter!=ivec.end();++iter){
cout < <*iter < < " ";
}
cout < < endl;
return 0;
}
heipi@Linux:~/Documents/tmp> ./o
12 32 5 2 536 13 45 123 9897
12 32 5 2 536 13 45 123
heipi@Linux:~/Documents/tmp>