这个c++程序目的是将含有整数元素的vector对象拷贝给一个整形数组,但出了问题。

#include
#include

using namespace std;

int main()
{
const vector a{ 1,2,3,4,5,6,7,8,9 };
const int sz = a.size();
int b[sz];
auto it = a.cbegin();
for (auto &i : b)
{

i = *it;
cout << i << " ";
it++;
}

cout << endl;
system("pause");
return 0;

}

http://ideone.com/kxvLI4
1 2 3 4 5 6 7 8 9
没问题

你这是个什么语法啊,最新的标准ma?
你是编译出错还是运行出错啊

你这个是新标准么?没接触过,98标准不支持,首先vector初始化不能用这种方式, const vector a(10,2);
或者通过循环的方式赋值,

这句auto it = a.cbegin(); 换成 vector::const_iterator it = a.begin(); //常迭代器的使用
for (auto &i : b)改成 for(it;it != a.end();)
希望可以帮到你