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

How can I define a struct in (*.cpp) instead (*.h) in a class

本文关键字:定义 结构 cpp      更新时间:2023-10-16

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

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

class MyVertex
{
public:
    struct Vertex{};
};

如何在(*.cpp)中更详细地定义结构体Vertex?我尝试了好几次,但都失败了。

这里的问题是您没有声明struct,而是完全定义了它。为了声明它,您需要关闭{}

class MyVertex { 
public:
  struct Vertex;
};

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

struct MyVertex::Vertex { 
  ...
};