我希望有一个宏使用它使用的类的类型,而不将该名称传递给宏。为此,我尝试了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