gpt4 book ai didi

c++ - 包含后是否需要前向声明?

转载 作者:搜寻专家 更新时间:2023-10-31 00:18:28 25 4
gpt4 key购买 nike

我在自己的文件中有一个名为 GameState 的类,该类有一个指向另一个类型为 StatusView 的对象的指针,该对象在其自己的文件中。在 GameState.h 中,我包含了 StatusView header ,但是当我尝试编译它时,出现错误:

missing type specifier - int assumed

但是,当我转发声明 StatusView 时,即使在包含它之后,我也能够编译它。我不知道是什么导致了转发声明类的要求。

最佳答案

header 之间存在循环依赖关系。 A 包含 B,B 包含 A,但 B 真正包含 A,因为 #pragma once 已经为 A 求值。(这与标准 header 相同看守。)

因为内部包含被忽略了,就好像它根本不存在一样,你需要前向声明。

关于c++ - 包含后是否需要前向声明?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10544740/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com