Estoy tratando de desarrollar una pequeña aplicacion en c++ (linux) pero me encuentro con algunos problemas
Tengo dos clases, una clase se llama puerto y la otra enlace
Código C++:
Ver original
#ifndef PORT_HPP #define PORT_HPP #include "Link.hpp" class puerto { public: port(.....); //constructor ~port(.....); //destructor private: int _Id; public: Link** Links; ... }; #endif ahora la clase Link #ifndef LINK_HPP #define LINK_HPP #include "enums.hpp" class Link { public: StatusEnlace Status; //StatusEnlace es un enum private: int _Id; ... public: Enlace(......); //constructor ~Enlace(......); //Destructor ..... };
hasta aca todo bien, ahora necesito incluir en la clase link una propiedad de tipo puerto algo asi como
Port* ParentPort;
La cuestion es que cuando coloco la referencia
#include "port.hpp"
en el archivo link.hpp me salen muchisimos errores, como si no reconociera ninguna variable de la clase port.
Alguien me puede decir que estoy haciendo mal???
Gracias
Nota: si no incluyo la propiedad ni la cabecera port.hpp, el codigo se compila bien, sin ningun warning ni error
Aca dejo los errores que me salen
Link.cpp(8): error: name followed by "::" must be a class or namespace name
Link.cpp(8): error: explicit type is missing ("int" assumed)
Link.cpp(10): error: identifier "_Id" is undefined
Link.cpp(11): error: identifier "_Id_Parent_Port" is undefined
Link.cpp(12): error: identifier "_Id_Parent_Sw" is undefined
Link.cpp(14): error: identifier "Get_Port_Id" is undefined
Link.cpp(15): warning: missing return statement at end of non-void function "Link"
Link.cpp(17): error: name followed by "::" must be a class or namespace name
Link.cpp(21): error: name followed by "::" must be a class or namespace name
Link.cpp(23): error: identifier "_Type_Link" is undefined
Link.cpp(52): error: name followed by "::" must be a class or namespace name
Link.cpp(55): error: identifier "_Id" is undefined
Link.cpp(56): error: identifier "_Id_Parent_Port" is undefined
Link.cpp(57): error: identifier "_Id_Parent_Sw" is undefined
Link.cpp(59): error: identifier "_Type_Link" is undefined
Port.cpp(14): error: name followed by "::" must be a class or namespace name
Port.cpp(14): error: explicit type is missing ("int" assumed)
Port.cpp(16): error: identifier "_Id" is undefined
Port.cpp(17): error: identifier "NbLinks" is undefined
Port.cpp(18): error: identifier "_Nb_Stages" is undefined
Port.cpp(20): error: identifier "_Id_Parent_Sw" is undefined
Port.cpp(22): error: identifier "Links" is undefined
Port.cpp(22): error: identifier "Link" is undefined
Port.cpp(22): error: expected an expression
Port.cpp(22): error: expected a ";"
Port.cpp(23): warning: missing return statement at end of non-void function "Port"
Port.cpp(25): error: name followed by "::" must be a class or namespace name
Port.cpp(29): error: name followed by "::" must be a class or namespace name
Port.cpp(31): error: identifier "_Id" is undefined
Port.cpp(31): error: identifier "NbLinks" is undefined
Port.cpp(34): error: identifier "Links" is undefined
Port.cpp(43): error: function "Get_Port_Id" has already been defined