我是C++的新手,我有一个问题(抱歉,如果它是基本的东西,但我想知道)。所以我有这个代码是应该一个向量的每个元素乘以一个数字:C++中的向量分段错误
#include<iostream>
#include "IntCell.h"
#include<vector>
using namespace std;
vector<float> MatMult(int a, vector<float> & b)
{
vector<float> c;
int i;
for(i=0;i<=b.size();i++){
c[i]=b[i]*a;
}
return c;
}
int main()
{int a=3;
vector<float> b{1,2,3,4,5};
vector<float> c = MatMult(a,b);
cout<<c[2];
}
它编译罚款,但我得到段错误:11.什么是错的呢? 谢谢!
你应该重复** **之前b.size(),因为向量0索引 – Incomputable
检查线在'for',你要计算是不是你真的想计算一下。 – tkausl
你从未初始化过'c'。 – NathanOliver