有時我想寫兩個模板,如:爲什麼C++不允許模板重載?
template <typename Type1>
class A{
...
};
template <typename Type1, typename Type2>
class A{
...
};
但似乎是不合法的有兩個模板共享相同的名稱,但有不同的參數。我必須將它命名爲A_1
,A_2
。我認爲這可能是有用的,如果我可以做到這一點,特別是在執行Functors時。
爲什麼C++不允許這樣做?在某些情況下難以實施還是模棱兩可?這將在更高版本的C++上得到支持嗎?
出於同樣的原因,C++不允許具有相同名稱的兩個類。 – Jack
使用C++ 11可變參數模板http://en.wikipedia.org/wiki/Variadic_template – higuaro
您可以使用默認模板參數來近似它。 –