0
我有一個簡單的混合,我正在混合到我的其他模板類。模板定義順序問題
template<typename T> class mixin {
static T* null() { return nullptr; }
auto func() -> decltype(null()->func());
};
template<...> class A : public mixin<A<...>> {
....
};
template<...> class B : public mixin<A<...>> {
....
};
template<...> class C : public mixin<A<...>> {
....
};
現在,我有一個問題。其中一個mixin函數將返回一個必須根據派生類型推導出來的類型。但是,當我嘗試使用演繹來找到這種類型時,編譯器告訴我我正在使用一個未定義的類型。如果我將mixin
的定義移動到類之後,那麼在混合時我將無法從它繼承。在這種情況下,如何更改我的類以允許類型扣除?
難道不該`自動FUNC() - >的...``而不是void`? – 2011-08-17 17:13:44