我有一個模板結構:如何定義聲明的函數 - 具有未命名模板參數的模板結構成員?
template<typename T2, class, typename, class T3 = vec1<T2> >
struct vec2
{
template<typename D2, class, typename, class D3>
void f14(int a);
template<typename D2, class, typename, class D3>
void f15(int a);
};
我想定義,例如函數F15。我不知道,我應該在「??」的地方寫什麼。我試圖用不同的方式解決這個問題。但編譯器殺死了我編譯我的程序的夢想。
template<typename T2, class , typename , class T3>
template<typename D2, class , typename , class D3>
void vec2<T2,??,??,T3>::f15(int a) { }
如何定義函數f15?
這樣的結構「class,typename」的學名是什麼? 我google了很多(「未命名的模板參數」等),但我沒有發現任何關於它。我想,它與具有未命名參數的函數相同。我想讀一些關於它的東西 - 從C++ standart或其他來源,但我不知道必要的信息在哪裏。
聲明和實現之間的名稱不必匹配。 – Yakk
爲什麼不直接命名你的當前未命名的類型以將它們作爲模板參數傳遞給vec2? – zakinster
他們爲什麼沒有被命名? –