我試圖向前聲明一個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
現在首先我知道unique_ptr <>和前向聲明中的一般問題,如Forward declaration with unique_ptr?。 考慮這三個文件: A.H #include <memory>
#include <vector>
class B;
class A
{
public:
~A();
private:
std::unique_ptr<B>
我有以下情形: 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
嗨,這是我的直接問題,因爲我不知道如何用一些例子來解釋我的問題。 問: How to deal with namescpaces in forward declarations where classes are defined in different namespaces? 如果有人覺得這是重複的任何其他問題,或者這是不是要問這個問題的意思也發表評論在這裏正確的方式。在此先感謝....