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

时间:2013-08-23 05:32:35

标签: c++ class struct

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

以下是我在(* .h)

中声明的内容
class MyVertex
{
public:
    struct Vertex{};
};

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

1 个答案:

答案 0 :(得分:7)

这里的问题是你没有声明struct你正在完全定义它。要声明它,您需要不使用{}

class MyVertex { 
public:
  struct Vertex;
};

完成此操作后,您可以在struct文件或.h

中定义.cpp成员
struct MyVertex::Vertex { 
  ...
};