分段错误(核心转储) - C++ 错误

SIDJ25

我正在尝试编写一个简单的向量加法代码,但出现此错误。我不知道它是什么。我在 Ubuntu 18.04 中使用 VS Code。

int main(){
    std::vector<int> vect1 = {1,2,3,4,5};
    std::vector<int> vect2 = {6,7,8,9,10};
    std::vector<int> vectsum;

    for (int i = 0; i < vect1.size(); i++){
        std::cout << vect1[i] << " ";
    }

    std::cout << std::endl;

    for (int j = 0; j < vect2.size(); j++){
        std::cout << vect2[j] << " ";
    }

    for(int i = 0; i < vect1.size(); i++){
        vectsum[i] = vect1[i] + vect2[i];
    }

    for (int i = 0; i < vectsum.size(); i++){
        std::cout << vectsum[i] << " ";
    }
    return 0;
}

输出:

1 2 3 4 5 
Segmentation fault (core dumped)
强盗

您尚未为 vectsum 分配任何内存(因此当您为其中一个元素分配值时,您遇到了 NULL 指针)

std::vector<int> vectsum(5);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章