我希望有一個宏使用它使用的類的類型,而不將該名稱傳遞給宏。爲此,我嘗試了typedef decltype(*this) my_type;
,但this
只能在非靜態成員函數中使用。有任何想法嗎?獲取包含類的類型
EDIT(評論複印件):
我做了一個基類,並設置無縫地實現使用CRTP類的數據的三重緩衝宏。當三重緩衝類繼承另一個三重緩衝類時,會出現複雜情況,實際上有兩個基 - 隱藏在宏中的CRTP基和顯式基。由於顯式基礎也從CRTP基礎的不同實例繼承,派生類中的成員函數在兩個基礎之間發生衝突。我正在編寫一個宏,以便在派生類中重新實現函數來自動解決此衝突。這種重新實現需要派生類的類型來訪問CRTP類的正確實例,因此是原始問題。
等等,你是否告訴我你正在課堂上寫作,但不知道里面哪一個? – 2013-02-09 15:01:03
你想用這種特定方法解決什麼問題? – phant0m 2013-02-09 15:01:24
@BartekBanachewicz是的,間接通過宏。 – Dylan 2013-02-09 15:03:45