如何在函數內部定義類以便彼此「知道」?這是我試圖理解的一個非常愚蠢的版本。我想做類似的事情:在函數內聲明的相互C++類
void foo() {
struct A {
static void bar() {
B::hmm();
}
};
struct B {
static void hmm() {
A::bar();
}
}
}
這不起作用,因爲A :: bar()對B還不瞭解。在函數之外,我可以推遲A :: bar()的定義,直到聲明B爲止。類似於:
void foo() {
struct A {
static void bar();
};
struct B {
static void hmm() {
A::bar();
}
}
void A::bar() {
B::hmm();
}
}
但是,這似乎不起作用的功能。
代替一些聰明的範圍聲明,使這一切工作,我也歡迎一個明確的答案,這是不可能在C + +(請參考請)。
我知道有其他的方法來解決這個(聲明的foo之外的類,例如),所以我不找就怎麼做類似的東西答案...
爲什麼你不能只使用一個命名空間? – GWW 2010-12-16 06:00:34
@GWW,我認爲你沒看完我的最後一句話。 – xscott 2010-12-16 06:11:16
我讀過它,但我很好奇爲什麼你不能使用命名空間並需要使用函數。 – GWW 2010-12-16 06:13:47