本文へスキップ
BecomeCoder

C++のエラー · エラー5

Segmentation fault ― 不正なメモリアクセス(実行時)

範囲外アクセス、無効なポインタ、解放済みメモリの使用で落ちます。

出るコード

#include <vector>
int main() {
    std::vector<int> v = {1, 2, 3};
    return v[10];   // 範囲外([] は境界チェックしない)
}

エラーメッセージ

Segmentation fault (core dumped)

直し方

v.at(10) を使うと範囲外で例外(std::out_of_range)になり原因が分かります。ポインタは使用前に有効か確認します。