2
爲了提高代碼的可讀性,我想分配更短的名稱函數模板就像在下面的例子:無法較短的名稱分配給C++函數模板
#include <iostream>
template<typename T>
T func(T a, T b)
{
return a + b;
}
int main()
{
using fi = func<int>;
using fd = func<double>;
std::cout << fi(1, 1) << std::endl;
std::cout << fd(1.0, 1.0) << std::endl;
return 0;
}
但在嘗試編譯,我得到一個錯誤
$ g++ func.cpp -o func
func.cpp: In function ‘int main()’:
func.cpp:11:11: error: expected nested-name-specifier before ‘fi’
using fi = func<int>;
^
什麼是可以接受的方式爲函數模板分配較短的名稱,而不必依賴預處理器定義?
如何使用'typedef'? –
@ThomasMatthews:顧名思義,'typedef'也引入了_type_。 –