-2
我希望定義一個指向同一元素類型的元素,像這樣:定義一個指向同一元素的元素類型在C++
#define Foo { Foo*, ..., ... }
例如,這可以幫助我創建一個簡單的樹不會造成任何附配類:
#define TreeNode std::deque(std::pair(char, TreeNode*))
TreeNode mRootNode;
然而,這不能做,因爲做在其聲明中對自身的引用時Foo
是不是還聲明。
我的問題是......爲什麼在類中實現它時允許使用相同的功能?有沒有更簡單的方法,而不是面向對象,來定義我的Foo
?
您不想這樣做,或幾乎任何其他。在C++中使用預處理器宏。 –
第一步,不要使用宏。 – RyanP
#define創建一個宏,而不是一個類型。如果你試圖擴展這個宏,如圖所示,你會得到一個無限的自遞歸。 – zstewart