我有一个第三方C库,其中包含类似于匿名结构的内容。
typedef struct
{
...
}A;
该文件是通过程序自动生成的,因此可能会根据某些条件发生更改。
现在,在C++项目中,我接受上述类型的参数,例如:
void foo(const A & in)
{
...
}
如何在定义上述函数的头文件中进行A的前向声明?
我尝试过:
typedef struct A A;
或者 struct A;
还有
typedef A A;
出于好奇心。
然而,这些会导致编译时错误,重新定义了类型。 谢谢。
typedef struct{...} A;
的库的头文件? - rjpstruct
(请参见 C 标准中的 6.7.2.1p13)。您无法在struct
或union
外部拥有匿名的struct
。 - too honest for this sitetypedef
的名称有什么问题? - too honest for this sitetypedef struct tag_A{...}A
。 - LPs