Agent.h
: // # include "Genetics.h" "Sensors.h" "Effectors.h"
class C_Agent
{
public:
C_Agent();
C_Genome Genome;
C_Sensors Sensors;
C_Effectors Effectors;
s_agentParameters parameters;
};
Agent.cpp
: // # include "Agent.h"
C_Agent::C_Agent()
: parameters(), Sensors(& parameters), Effectors(& parameters),
Genome(& Sensors, & Effectors)
{
//setup parameters
Effectors.p_Genome = & Genome;
}
Sensors.h
: // # include "Genetics.h"
class C_Sensors
{
public:
s_agentParameters * p_parameters;
C_sensors(s_agentParameters * p_parametersRef);
};
Sensors.cpp
: // # include "Sensors.h"
C_Sensors::C_Sensors(s_agentParameters * p_parametersRef)
: p_parameters(p_parametersRef) {}
Effectors.h
// # include "Genetics.h"
class C_Effectors
{
public:
s_agentParameters * p_parameters;
C_Genome * p_Genome; //forbids declaration w/ no type
C_Effectors(s_agentParameters * p_parametersRef);
};
Effectors.cpp
: // # include "Effectors.h"
C_Effectors::C_Effectors(s_agentParameters * p_parametersRef)
: p_parameters(p_parametersRef) {}
Genetics.h
: // # include "Sensors.h" "Effectors.h"
class C_Genome
{
public:
C_Sensors * p_Sensors; //forbids declaration w/ no type
C_Effectors * p_Effectors; //forbids declaration w/ no type
C_Genome(C_Sensors * p_C_SensorsRef, C_Effectors * p_C_EffectorsRef);
};
Genetics.cpp
: // # include "Genetics.h" "Sensors.h" "Effectors.h"
C_Genome::C_Genome(C_Sensors * p_C_SensorsRef, C_Effectors * p_C_EffectorsRef)
: p_Sensors (p_C_SensorsRef), p_Effectors (p_C_EffectorsRef) {}
Когда я пытаюсь это скомпилировать, я получаю 6 ошибок "class_name" не называет тип "и 6 ошибок" ISO c ++ запрещает объявление 'class_name' без типа " У меня также есть код в main, который пытается инициализировать некоторые объекты C_Agent.