C++ 如何用typedef结构修复未知类型名错误?

C++ 如何用typedef结构修复未知类型名错误?,c++,C++,下面是我在头文件中的代码: typedef struct _aaa { static void do_something(t_bbb *b); //this line is problematic } t_aaa; typedef struct _bbb { t_aaa *a; } t_bbb; 但它说: 未知类型名称t_bbb 如何使代码可编译?添加转发声明: struct _bbb; typedef struct _bbb t_bbb; typedef struct _

下面是我在头文件中的代码:

typedef struct _aaa
{
    static void do_something(t_bbb *b); //this line is problematic
} t_aaa;

typedef struct _bbb
{
    t_aaa *a;
} t_bbb;
但它说:

未知类型名称
t_bbb


如何使代码可编译?

添加转发声明:

struct _bbb;
typedef struct _bbb t_bbb;

typedef struct _aaa
{

我没有投反对票,但我怀疑这是因为如果你用谷歌搜索错误信息,答案很容易找到。它没有显示你方的研究。另外,你为什么用C标记?这不是C。我建议改变使用“开始”的标识符的做法。如果是C++,为什么我们需要一个TyPulf?@ Yunnosch,这是一个非常有力的建议。这种标识符实际上是为实现保留的,不需要单独声明<代码>结构> BBB<代码>,则 TyPulf就足以作为正向声明。因为这是C++,所以您可能想删除<代码> TyPulfF。