【发布时间】:2013-04-29 20:25:23
【问题描述】:
我有一个很大的头文件(约 10000 行),它是由不受我控制的脚本/程序自动生成的。
为了避免在我的类的声明中包含这个文件,我转发声明了我需要的几个类型:
--myclass.h
namespace bl {
class TypeA;
class TypeB;
}
// Other stuff and myclass definition...
现在发现TypeA 和TypeB 不是类名,而是在自动生成的文件中定义为:
typedef SomeUnspecifiedClassName TypeA;
typedef AnotherUnspecifiedClassName TypeB;
SomeUnspecifiedClassName 我的意思是我不能前向声明这个类型名,因为它可能会在各种情况下发生变化。
如何前向声明 typedef? (不能使用c++11)
【问题讨论】:
-
你能通过引用和指针使用类吗? stackoverflow.com/questions/553682/…
-
你最后一句话中具体问题的答案已经在第一个相关问题中得到了回答:stackoverflow.com/questions/804894/…
-
根据
TypeA和TypeB的使用位置,您可以考虑将myclass重构为模板。
标签: c++ forward-declaration c++03