在C++中的Primer Plus(2001年,捷克語翻譯)我發現這些不同的模板特語法:C++模板專業化語法
函數模板
template <typename T> void foo(T);
專業化語法
void foo(int param); // 1
void foo<int>(int param); // 2
template <> void foo<int>(int param); // 3
template <> void foo(int param); // 4
template void foo(int param); // 5
使用Google搜索了一下,我發現只有No.3的例子。其中有沒有區別(通話,編譯,使用)?其中一些已經過時/棄用了嗎?爲什麼不使用1號?
這是一般使用(並認爲)術語「函數模板」,因爲這強調,這是一個好主意一個模板,而不是一個函數,無論需要什麼功能,你都不能使用模板(只有專業化,因爲那時候是功能)。 – PlasmaHH
它可能是一個錯誤的翻譯,或者你錯了。我建議你閱讀更多關於模板和函數重載的區別。 – varepsilon