正向声明时,“结构”和“类”关键字是否相同? [重复]

问题描述 投票:1回答:1

过去,我已经能够将一个类声明为结构体,反之亦然,或者像C中那样声明类型,如:

void function(struct Foo* arg);
void function(class Foo* arg);

我认为,出于此目的或向前声明的目的,它们是同一回事,因为我已经多次听到结构和类之间的唯一区别是默认访问说明符(结构是公共默认值,而类是私有的)。] >

我已经将我的类中的一个单词从“ struct”更改为“ class”,并且我第一次看到它破坏了我的代码,链接器说它找不到该类型的变量在某处定义。是否不允许以这种方式混合“ struct”和“ class”?

过去,我已经能够向前将类声明为结构,反之亦然,或者像C中那样声明类型,例如:void function(struct Foo * arg);虚函数(Foo * arg类);我以为...

c++ class forward-declaration
1个回答
-3
投票

您有时会摆脱它。而且通常您不这样做。

© www.soinside.com 2019 - 2024. All rights reserved.