这两种方法有什么区别?
有时,当我遇到编译时错误时,抱怨编译器无法识别
函数签名中存在一些类类型,那么如果我在各个变量前面添加关键字“class”,总是可以解决此类编译时错误。
例如,如果编译器无法识别类型Client in
void recv( Client * c )
那么如果我将其更改为
void recv( class Client * c )
问题已经解决了。
很抱歉,我无法提出具体的例子,因为我随机提出了这个问题。
在类型参数声明中使用关键字 class、struct、enum 称为详细类型说明符。它在声明函数的范围内引入了新类型。
它类似于前向声明。
这种声明还有另一种用法。例如,如果对象名称或函数名称隐藏了具有相同名称的类或枚举。例如
struct A {};
A A; // now A is seen as an identifier of the object
void f( struct A );
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)