我是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