我將在一個例子來解釋:傳遞指針的類型作爲模板參數
template<typename T>
class Base{}
class A: public Base<A>{}
class foo(){
public:
template<typename T>
bool is_derived(){
/* static check if T is derived from Base<T> */
}
}
我發現this性狀以確定一個類是否是另一個的基座。
我的問題是,如果T是一個指針而沒有專門的boo模板函數,我怎麼能從T發送模板參數到is_base_of?
我想要做的是這樣的:如果 T是一個指針,然後if (is_base_of<Base<*T>,*T>) return true;
如果T是不是指針,然後if (is_base_of<Base<T>,T>) return true;
的std :: is_base_of :: type> –
或者簡單的'std :: is_ba se_of >'in C++ 14。 –
它可以是基地還是必須是基地? –
Loay