如何在类中定义(*.cpp)中的结构而不是(*.h)

MiL*_*iLu 2 c++ struct class

我想从头文件中定义一个结构.

以下是我在(*.h)中声明的内容

class MyVertex
{
public:
    struct Vertex{};
};
Run Code Online (Sandbox Code Playgroud)

如何在(*.cpp)中更详细地定义struct Vertex?我已经尝试了几次但是失败了.

Jar*_*Par 7

这里的问题是你没有声明struct你是在完全定义它.为了宣布它你需要离开{}

class MyVertex { 
public:
  struct Vertex;
};
Run Code Online (Sandbox Code Playgroud)

一旦你这样做,你将能够struct.h文件或稍后定义成员.cpp

struct MyVertex::Vertex { 
  ...
};
Run Code Online (Sandbox Code Playgroud)