Я продолжаю получать длинную строку ошибок, когда пытаюсь объявить вектор в заголовке. Я поискал некоторое время, но не могу найти решения.
Вот ошибки:
1> Компиляция ... 1> game.cpp 1> c: \ users \ legacyblade \ documents \ visual studio 2008 \ projects \ fourswords \ fourswords \ input.h (38): ошибка C2143: синтаксическая ошибка: отсутствует ';' перед '‹' 1> c: \ users \ legacyblade \ documents \ visual studio 2008 \ projects \ fourswords \ fourswords \ input.h (38): ошибка C2071: 'input :: vector': недопустимый класс хранения 1> c: \ users \ legacyblade \ documents \ visual studio 2008 \ projects \ fourswords \ fourswords \ input.h (38): ошибка C4430: отсутствует спецификатор типа - предполагается int. Примечание. C ++ не поддерживает default-int 1> c: \ users \ legacyblade \ documents \ visual studio 2008 \ projects \ fourswords \ fourswords \ input.h (38): ошибка C2238: неожиданные токены, предшествующие ';' 1> main.cpp 1> c: \ users \ legacyblade \ documents \ visual studio 2008 \ projects \ fourswords \ fourswords \ input.h (38): ошибка C2143: синтаксическая ошибка: отсутствует ';' перед '‹' 1> c: \ users \ legacyblade \ documents \ visual studio 2008 \ projects \ fourswords \ fourswords \ input.h (38): ошибка C2071: 'input :: vector': недопустимый класс хранения 1> c: \ users \ legacyblade \ documents \ visual studio 2008 \ projects \ fourswords \ fourswords \ input.h (38): ошибка C4430: отсутствует спецификатор типа - предполагается int. Примечание. C ++ не поддерживает default-int 1> c: \ users \ legacyblade \ documents \ visual studio 2008 \ projects \ fourswords \ fourswords \ input.h (38): ошибка C2238: неожиданные токены, предшествующие ';' 1> input.cpp 1> c: \ users \ legacyblade \ documents \ visual studio 2008 \ projects \ fourswords \ fourswords \ input.h (38): ошибка C2143: синтаксическая ошибка: отсутствует ';' перед '‹' 1> c: \ users \ legacyblade \ documents \ visual studio 2008 \ projects \ fourswords \ fourswords \ input.h (38): ошибка C2071: 'input :: vector': недопустимый класс хранения 1> c: \ users \ legacyblade \ documents \ visual studio 2008 \ projects \ fourswords \ fourswords \ input.h (38): ошибка C4430: отсутствует спецификатор типа - предполагается int. Примечание. C ++ не поддерживает default-int 1> c: \ users \ legacyblade \ documents \ visual studio 2008 \ projects \ fourswords \ fourswords \ input.h (38): ошибка C2238: неожиданные токены, предшествующие ';'
Вот исходный код:
#include <vector>
#include <SFML/Graphics.hpp>
#ifndef _input_h
#define _input_h
class input
{
public:
input();
void update();
//----input keys----//
// Directions
bool upPress;
bool downPress;
bool leftPress;
bool rightPress;
// Actions
bool aPress;
bool bPress;
bool jumpPress;
bool shieldPress;
// Menu
bool startPress;
bool screenshotPress;
bool fullscreenPress;
//------------------//
private:
extern vector<sf::Keyboard::Key> keyBindings;
};
#endif
Это дает мне ту же ошибку с extern и без него, и даже если я изменю тип объекта внутри вектора (даже int).
Большое спасибо за чтение. Было бы здорово, если бы кто-нибудь мог помочь. Мне нужны векторы, чтобы делать то, что я хочу делать. Не знаю, почему это доставляет мне такие неприятности. Любой другой тип переменной в том же месте НЕ вызывает ошибку. Только векторы.