請問一下,圖一TypeComparator類中的函式指標的定義可以這樣寫嗎?如果想像圖二那樣做默認引數的話,這樣定義靜態成員可以嗎?應該怎樣寫才能過編譯呀?
uj5u.com熱心網友回復:
上傳圖片一直失敗。。。圖一部分代碼為:
template<typename T>
class TypeComparator {
public :
bool(*equalP)(T, T) = this->equals<std::is_arithmetic<T>::value || std::is_pointer<T>::value>;
template<bool B>
bool equals(T t1, T t2) {
return false;
}
template<>
bool equals<true>(T t1, T t2) {
return t1 == t2;
}
};
uj5u.com熱心網友回復:
類中定義的靜態成員變數是template <typename T>
class LinkedList {
protected :
static TypeComparator<T> compHelper;
};
uj5u.com熱心網友回復:
類中定義的成員函式是bool contain(T t, bool(*equals)(T, T) = compHelper.equalP);
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/208754.html
標籤:其它技術問題
上一篇:關于頭檔案問題
下一篇:為啥結果總是請按任意鍵??
