作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
<分区>
为了提高代码的可读性,我尝试将较短的名称分配给函数模板,如下例所示:
#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>;
^
在不依赖预处理器定义的情况下,将较短的名称分配给函数模板的公认方法是什么?
我是一名优秀的程序员,十分优秀!