我使用下面的代码初始化一个向量,但是出现了错误。
vector<int> e;
for(int i=0;i<10;i+)
{
e[i] = 0;
}
答案 0 :(得分:2)
由于BoBTFish已经说过你无法使用[]访问向量的元素,因为向量中没有任何内容。您有几种选择如何执行此操作。
一个。使用push_back代替“=”,这看起来像
vector<int> e;
for (i = 0; i < 10 ; i++)
e.push_back(0);
湾像这样初始化和清空矢量
vector<int> e(10);
for (i = 0; i < 10 ; i++)
e[i] = 0;
℃。初始化一个大小为10的向量,用这个
填充0vector<int> e(10,0);
答案 1 :(得分:1)
写
就足够了std::vector<int> e( 10 );
如果你想要每个元素都等于零。
否则你可以写
std::vector<int> e( 10, value );
如果你有std::vector<T>
类型的向量,那么声明
std::vector<T> v( n );
相当于
std::vector<T> v( n, T() );