本文へスキップ
BecomeCoder

C++のエラー · エラー7

'std::vector' has no member named ― メンバ名のタイプミス(コンパイル)

コンテナや型に存在しないメンバ関数名を呼ぶと出ます。似た名前の候補があれば did you mean で示されます。

出るコード

#include <vector>
int main() {
    std::vector<int> v = {1, 2, 3};
    v.add(4);   // push_back の間違い
}

エラーメッセージ

error: 'class std::vector<int>' has no member named 'add'; did you mean 'at'?

直し方

正しいメンバ関数名(この場合 push_back)に直します。ライブラリのドキュメントやエディタの補完でメンバ名を確認する癖をつけます。