forward-declaration

    0熱度

    1回答

    考慮下面的現有代碼(編譯和執行如預期): /* File foo.h */ extern const struct Foo bar[]; /* Definition in foo.cpp */ struct Foo { Foo(int i) : Foo(bar[i]) {} int x; }; 我現在想換Foo到模板類,使得: template <typenam

    0熱度

    2回答

    我試圖向前聲明一個struct A和定義包含「不準不完全型」 這是A. 我得到錯誤,指出數組的結構乙聲明結構我有什麼: struct A; struct B { // something struct A x[10]; // This where I get the error incomplete type not allowed }; struct A { // somet

    11熱度

    2回答

    現在首先我知道unique_ptr <>和前向聲明中的一般問題,如Forward declaration with unique_ptr?。 考慮這三個文件: A.H #include <memory> #include <vector> class B; class A { public: ~A(); private: std::unique_ptr<B>

    1熱度

    3回答

    我一直有這個問題,我的C++實驗室整天。據我所知,我所擁有的一切工作,除了我的教授已經在我們的任務規定這一條款: 類聲明的順序在源文件是InventorySystem,InventoryItem,產品,eProduct。由於InventorySystem包含指針的InventoryItem陣列必須使用正宣言InventoryItem 所以InventoryItem - >產品 - > eProdu

    0熱度

    1回答

    我有以下情形: header.h: class A { public: class B; // incomplete type private: // is never used outside of source file for A std::vector<B> vector_of_bs; // template } source1.cpp

    -1熱度

    1回答

    我想通過另一個類的構造函數傳遞一個類的引用實例。現在我不能這樣做,因爲我陷入了語法錯誤。我嘗試了幾個小時,但我學到了很多東西(比如循環依賴或前向聲明),但實際上並不能解決我的問題。我有這樣的文件: Project.h(Project類的構造函數傳遞的緩衝區類的一個實例參考) Project.cpp Buffer.h Buffer.cpp abo有四個文件在我的問題中是積極的(我的猜測)。 這裏是P

    0熱度

    2回答

    我有前向聲明,但希望將前面聲明的類的實例設置爲默認值。 所以我的代碼看起來或多或少是這樣的: bar.h class Foo; class Bar { public: Bar(); void test(Foo foo = Foo(7)); } 和foo.h中 class Foo { public: Foo(int val); } 這甚至可能嗎

    0熱度

    1回答

    嗨,這是我的直接問題,因爲我不知道如何用一些例子來解釋我的問題。 問: How to deal with namescpaces in forward declarations where classes are defined in different namespaces? 如果有人覺得這是重複的任何其他問題,或者這是不是要問這個問題的意思也發表評論在這裏正確的方式。在此先感謝....

    1熱度

    2回答

    我在hpp文件中定義了一個類,我試圖在另一個頭中使用它,所以我向它做了一個前向聲明(我只想通過引用將它用作函數參數) 。出於某種原因,我不斷收到編譯錯誤,因爲它。我無法弄清楚它爲什麼不起作用。這裏是我的代碼: //something.hpp: class MyClass; void someFunction (MyClass& mc); ... //something.cpp: #in

    1熱度

    1回答

    也許有人知道,是否有可能在本徵中轉發申報類型MatrixXd & VectorXd? 在編譯時,我得到以下錯誤: /usr/include/eigen3/Eigen/src/Core/Matrix.h:372:34:錯誤:矛盾的聲明「的typedef類徵::矩陣Eigen :: MatrixXd' typedef Matrix Matrix ## SizeSuffix ## TypeSuffix;