forward-declaration

    1熱度

    1回答

    我應該怎麼做申報前A,代表元素B清單列表,每個指C,即boost::recursive_wrapper -s到A? 特別感興趣的是,何時所有類型都是模板化的。再說了, template< typename F > struct expression : tagged, boost::spirit::extended_variant< nil, F,

    4熱度

    3回答

    我有一個很大的頭文件(〜10000行),這是由我的控制腳本/程序自動生成的。 爲了避免包括在我的課的申報文件,我向前聲明幾種類型,我需要: --myclass.h namespace bl { class TypeA; class TypeB; } // Other stuff and myclass definition... 現在事實證明,TypeA和TypeB不是

    2熱度

    1回答

    在我的控制器的頭文件中,我需要聲明另一個控制器的實例。我是這樣做的: #import "BIDMyRootController.h" #import "BIDAnotherController.h" //I import another controller's header @interface BIDCurrentController : BIDMyRootController //

    10熱度

    2回答

    我有以下的頭文件: https://gist.github.com/wemakeweb/5501443 和編譯器始終報告「未知類型名稱類別」。我已經包括向前宣言,打破包括,我認爲我必須在哪裏。我忘了什麼? 編輯:我把它們都放在一個頭文件,編譯器仍然報告「預計,後頂層聲明符」 https://gist.github.com/wemakeweb/5583500 編輯2 現在即時得到鏈接錯誤。 「爲建築

    1熱度

    1回答

    如何在C++中實現這樣的想法而不進入「使用不完整類型」的麻煩? class A { /*(...) some fields and methods here. */ class B { /*(...) some fields and methods here. */ friend B A::fun(); }; B fun(); };

    1熱度

    1回答

    我的類有點問題。我有兩個類都使用模板方法,因此我必須把它放在標題中。這是一個例子。我希望它能在沒有「前向不完整」問題的情況下正確編譯。我明白什麼是錯,但我不知道如何解決這個問題。感謝你們。 class.h class A; class B; class A { B *foo; template <class T> void fu

    0熱度

    2回答

    我差不多解決了與我的代碼在stackoverflow用戶的幫助下的問題,但現在有不同的問題。我的代碼現在看起來像這樣: #include <iostream> #include <cmath> #include <sstream> using namespace std; class root { public: virtual ~root() {} virtu

    0熱度

    2回答

    我向前聲明模板外部和內部類如下 template<class T> class outer; class inner; 剛過上述聲明我已經定義爲 namespace boost { namespace serialization { template<class Archive> void serialize(Archive &ar, out

    5熱度

    2回答

    如何在Delphi中做一個程序的前置聲明並在其他地方執行?我想做一些像C這樣的代碼,但在Delphi中: void FooBar(); void FooBar() { // Do something }

    8熱度

    4回答

    我試圖重構我的代碼,以便使用前向聲明而不是包含大量標頭。我是新來的,有一個關於boost :: shared_ptr的問題。 說我有以下接口: #ifndef I_STARTER_H_ #define I_STARTER_H_ #include <boost/shared_ptr.hpp> class IStarter { public: virtual ~IStarter