1. ホーム
  2. c++

[解決済み] ERROR C2039: 'vector': 'std' のメンバではありません。

2022-01-30 20:54:50

質問

私はC++の初心者で、小さなダンジョンクローラーゲームを作ろうとしています。現在、ヘッダーファイルで複数のベクターを宣言していますが、複数のエラーが発生するようです。StackOverflowでこの問題を検索してみましたが、回答はうまくいかないようです。

以下は私のヘッダーファイルの1つです。(Hero.h)

#pragma once

class Hero {
public:
    Hero();
    std::string name;
    int experience;
    int neededExperience;
    int health;
    int strength;
    int level;
    int speed;
    std::vector<Item> items = std::vector<Item>();
    void levelUp();
private:
};

以下は私の.cppファイルです。(Hero.cpp)

#include "stdafx.h"
#include <vector>
#include "Hero.h"
#include "Item.h"

Hero::Hero() {

}
void Hero::levelUp()
{

};

私が言ったように、私はC++の初心者なので、私のコードには私が知っているよりも多くの間違いがあるかもしれません。これはただのテストです。

以下は、Visual Studio 2015のエラー一覧に表示されるエラーです。

Error   C2039   'vector': is not a member of 'std'  CPPAssessment   hero.h  13  
Error   C2143   syntax error: missing ';' before '<'    CPPAssessment   hero.h  13  
Error   C4430   missing type specifier - int assumed. Note: C++ does not support default-int    CPPAssessment   hero.h  13  
Error   C2238   unexpected token(s) preceding ';'   hero.h  13  

解決方法は?

以下が含まれます。 <vector> の中に Hero.h ヘッダから削除することを検討してください。 Hero.cpp を追加しました。