C++ C++;:类范围和定义顺序

C++ C++;:类范围和定义顺序,c++,class,scope,C++,Class,Scope,我很难找到解决这个问题的方法。本质上,我有一个节点,它有连接到其他节点的输入和输出端口。端口具有不同的属性,我希望将这些属性组合在一个类中。我现在的代码是 class Node { private: std::vector<Port*> m_Input; std::vector<Port*> m_Output; ... }; class Port { private: Node* m_Connection; std::string

我很难找到解决这个问题的方法。本质上,我有一个节点,它有连接到其他节点的输入和输出端口。端口具有不同的属性,我希望将这些属性组合在一个类中。我现在的代码是

class Node
{
 private:
    std::vector<Port*> m_Input; 
    std::vector<Port*> m_Output; 
...
};

class Port
{
 private:
    Node* m_Connection;
    std::string m_PortName;
 ...
}
类节点
{
私人:
std::向量m_输入;
std::向量m_输出;
...
};
类端口
{
私人:
节点*m_连接;
std::字符串m_PortName;
...
}
`


错误是在尝试编译Port.cpp时,节点的include文件表示未声明端口。是否有一种全局声明类的方法,以便可以通过端口查看该类。类似于在顶部有一个函数定义。谢谢

试试这样的方法:

class Port;

class Node
{
 private:
    std::vector<Port*> m_Input; 
    std::vector<Port*> m_Output; 
...
};

class Port
{
 private:
    Node* m_Connection;
    std::string m_PortName;
 ...
}
类端口;
类节点
{
私人:
std::向量m_输入;
std::向量m_输出;
...
};
类端口
{
私人:
节点*m_连接;
std::字符串m_PortName;
...
}

类端口/
类节点正向声明
类端口节点之前的code>或
类节点*m_连接