Hola Foro
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