私はC++を初めて使用しており、私は小さなダンジョンのクローラゲームを作ろうとしています。現在、私はヘッダファイルに複数のベクトルを宣言していますが、複数のエラーが出るようです。私はこの問題をStackOverflowで検索しようとしましたが、答えは実際には動作していないようです。ここでエラーC2039: 'ベクトル': 'std'のメンバーではありません
は私のヘッダファイルのいずれかです。ここで(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++を使用しているので、私のコードよりもはるかに間違っているかもしれません。これは単なるテストです。
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
この回答にはあまり確信がありません。 cppファイルでは、vectorはhero.hの前にインクルードされているので、大丈夫です。あなたが提案するものは良いアドバイスですが、OPの情報に基づいてここでは問題はありません。このようなエラーはほとんどの場合ヘッダの欠落が原因であるため、OPの情報が間違っている可能性があります。 – paxdiablo
@paxdiabloそうです。私はこの答えを削除するつもりです。 –
@paxdiabloしかし私たちはそれを知らない。 stdafx.hにhero.hが含まれていて、それがベクトルの前に解析された場合、私には驚かないでしょう。 – hvd