packet.h
class OutcomingEnterMap : public PacketFactory
{
public:
int process(Player&);
private:
MapCharacterBase _MapCharacterBase;
};
packet_pre_world.cpp
#include "packet.h"
struct MapCharacterBase {
/* ... */
};
int OutcomingEnterMap::proces(connection* d)
{
_MapCharacterBase = MapCharacterBase{/* ... */};
}
Ошибка
Error C2065 '_MapCharacterBase': undeclared identifier EmulatorTop c:\users\ilya\documents\visual studio 2015\projects\emulatortop\threadevents\packet_pre_world.cpp 142
#include "packet.h"
struct MapCharacterBase {
/* ... */
};
Превращается в
class OutcomingEnterMap : public PacketFactory
{
public:
int process(Player&);
private:
MapCharacterBase _MapCharacterBase; // 1
};
struct MapCharacterBase { // 2
/* ... */
};
Т.е. вы используете MapCharacterBase до его объявления. Компилятор не понимает в точке 1, что такое MapCharacterBase, так как это ему становится понятно только в точке 2.
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости