我有一個很大的頭文件(〜10000行),這是由我的控制腳本/程序自動生成的。正向聲明一個typedef
爲了避免包括在我的課的申報文件,我向前聲明幾種類型,我需要:
--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)
你可以通過引用和指針使用該類嗎? http://stackoverflow.com/questions/553682/when-to-use-forward-declaration – 2013-04-29 20:45:58
在您的最後一句話中,您的具體問題的答案已經在第一個相關問題中得到了解答:http://stackoverflow.com/questions/804894/forward-declaration-of-a-typedef-in -c?rq = 1 – jxh 2013-04-29 20:46:08
根據TypeA和TypeB的使用位置,可以考慮將'myclass'重構爲模板。 – jxh 2013-04-29 20:53:38