3
如果該類有某些子類/類型,我們是否可以有一個SFINAE的訣竅知道。喜歡的東西,如何確定一個類是否包含子類/類型?
template<typename TYPE> // searches for "my_type"
struct has_inner_type {
enum { value = <???> };
};
以下是例子:
struct A {
class my_type {}; // has_inner_type::value = true
};
struct B { }; // has_inner_type::value = false
struct C { typedef int my_type; }; // has_inner_type::value = true
我嘗試一些技巧,但未能達到多數預計編譯器錯誤。 用法:
bool b = has_inner_type<A>::value; // with respect to "my_type"
編輯:我已經重新編輯我的問題,因爲它似乎是不可能通過my_type
作爲第二個參數has_inner_type
。所以,現在的問題是隻找到一個特定的類型my_type
。我有tried this code,這不起作用。
你想知道它是否有任何內部類型或具有特定名稱的內部類型? –
有什麼錯誤? – AJG85
@Martinho,我重新編輯了我的問題。我只想找到指定的名字。對造成的不便表示歉意。 @ AJG85,錯誤是顯而易見的,因爲我沒有找到正確的方式來實現它。所以這些錯誤不值得一提。仍在努力。 – iammilind