Это ошибка make:
In file included from /Users/ingmar/src/maxr/src/game/data/map/map.cpp:32:
/Users/ingmar/src/maxr/src/game/data/model.h:221:22: error: variable has incomplete type
'cPlayerBasicData'
cPlayerBasicData basicPlayerData;
^
/Users/ingmar/src/maxr/src/game/data/player/player.h:48:7: note: forward declaration of
'cPlayerBasicData'
class cPlayerBasicData;
^
Я постараюсь включить соответствующий код.
model.h:
...
#include "game/data/player/player.h"
...
class cPlayerBasicData;
...
class cModel
{
...
template<typename T>
void load(T& archive)
{
...
for (auto& player : playerList)
{
if (player == nullptr)
{
cPlayerBasicData basicPlayerData; // <- this is line 221
player = std::make_shared<cPlayer>(basicPlayerData, *unitsData);
}
player.h:
...
class cPlayerBasicData; // <- this is line 48
...
class cPlayer
{
...
player.h включен в model.h, поэтому cPlayerBasicData эффективно объявляется вперед дважды.В этом ли ошибка?