Использование
ptr -> print(userPreference);
было бы действительно, если бы ptr
было типа Object*
. Поскольку он имеет тип Object**
, вам нужно использовать выражение, которое оценивается как Object*
. Например,
for(int i = 0; i < arrayCounter; i++)
{
ptr[i]->print(userPreference);
}
Я считаю, что это правильный ответ:
http://langexplr.blogspot.com/2008/02/defining-mutually-recursive-classes-in.html
так что ...
type Entity =
{
Name:string;
Affects:List<Affect>;
Effects:List<Effect>;
}
and Effect =
{
Name:string;
ApplyEffect:Entity -> Entity;
}
and Affect =
{
Name:string;
EffectList:List<Effect>;
ApplyAffect:Entity->Entity;
}