此示例代碼生成expected a class template, got std::pair <_T1, _T2>
。我嘗試使用struct Struct <std::pair> {};
,但然後參數T
和M
變得不可誘導。如何避免這種情況?模板模板部分專業化失敗:「期望類模板」
template <template <class...> class>
struct Struct {};
template <class T, class M>
struct Struct <std::pair <T, M>> {};
什麼'的std :: pair'是類模板,'標準::對<_T1, _T2>'是不是。您可以將主模板聲明更改爲'template struct Struct {};'。 –
songyuanyao