Я новичок в C++, и я пытаюсь сделать небольшую игру для подземелий подземелий. В настоящее время у меня есть несколько векторов, объявленных в моих заголовочных файлах, но они, похоже, дают несколько ошибок. Я попытался найти эту проблему в StackOverflow, но ответы действительно не работают.ERROR C2039: 'vector': не входит в '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++, поэтому в моем коде может быть намного больше ошибок, чем я знаю. Это просто тест.
Ниже приведены ошибки, которые показаны в списке ошибок в 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
Не слишком уверен в этом ответе. В файле cpp вектор включен до hero.h, так что все должно быть в порядке. То, что вы предлагаете, является хорошим советом, но, основываясь на информации OP, здесь это не проблема. Сказав это, такая ошибка почти всегда вызвана отсутствующим заголовком, поэтому может быть, что информация OP неверна. – paxdiablo
@paxdiablo Правильно. Я собираюсь удалить этот ответ. –
@paxdiablo Мы этого не знаем. Меня не удивит, если stdafx.h включает hero.h, заставляя его разбираться перед вектором. – hvd