Проблема с extern std::map
Код:
extern std::map <int, Hole*>& holes;
выдает дикое количество ошибок - около 60, например
Код:
error C2653: 'Hole' : is not a class or namespace name
error C2143: syntax error : missing ';' before '}'
error C2143: syntax error : missing ',' before ')'
error C2143: syntax error : missing ';' before '}'
error C2143: syntax error : missing ',' before ')'
причём другие выражения extern работают корректно:
Код:
extern HGE* hge;
extern RECT * clientRect;
extern std::map <int, Hole*>& holes;
//далее идет описание класса
extern RECT * clientRect;
extern std::map <int, Hole*>& holes;
//далее идет описание класса
Что я делаю не так? Помогите, пожалуйста)
Ну дык, компилятор, видимо, не знает, что такое Hole. Где у вас декларация Hole ?
Вам черным по белому говорят - ваш класс, указатель на который вы используете в map нигде не объявлен.
Действительно натупил, там надо
Код:
extern HGE* hge;
extern RECT * clientRect;
extern class Hole;
extern std::map <int, Hole*> holes;
extern RECT * clientRect;
extern class Hole;
extern std::map <int, Hole*> holes;