所以我有2類讓我們稱之爲A類和B,其與這些類的內部對彼此作爲一個函數的參數的參考。當我嘗試着聲明它是這樣的:正向聲明類,類重定義
// A.h (Header guarded)
namespace ns {
class B { // Attempt to forward declare B
public:
int getRand();
};
class A {
public:
float a, b;
void aFunc(B &b);
};
}
// B.h (Header guarded)
namespace ns {
class A { // Attempt to forward declare A
public:
float a, b;
};
class B {
public:
void bFunc(A &a);
int getRand();
};
}
的事情是,當我這樣做,我得到'class' type redefinition
錯誤。我一直在尋找解決方案,但仍未找到解決方案。我做對了嗎?我想我不是,你能告訴我我在哪裏做錯了嗎?
不是一個向前聲明你到了那裏那個! 'B類;'會。 – jrok
@jrok嗯,但如果我需要從A訪問B的變量呢?沒有它會產生一個錯誤'不完整的類型是不允許的' – Greffin28
這取決於類。告訴我們更多關於他們以及你想要完成什麼。 – jrok