首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

函数模板(or类模板)的非类型形参有关问题

2013-04-20 
函数模板(or类模板)的非类型形参问题templatetypename T, double *x, double &y int Template( T a ){re

函数模板(or类模板)的非类型形参问题
template<typename T, double *x, double &y> int Template( T a )
{
return a;
}

对于此模板的使用
非类型形参应该在<???????>里写什么

Template<????????>( 1 );

如果是类模板中的 非类型形参<????????> 和函数模板有不同的地方吗 ?

请吧所有能想到的写法都写写吧 非常感谢 !
类 非类型形参 模板 函数模板
[解决办法]
非类型的模板参数只能使用 int 一类的类型(int, char, short, 指针等等).
你使用的参数是指针和引用, 也算是整数一类的. 但是就要去这个传进去的地址是编译时确定的地址才行.

在函数里面定义的局部变量, 是到函数运行时才分配的, 它的地址就不是编译期的常量了. 必须使用全局变量才行:


template<typename T, double *x, double &y> 
T Template( T a )
{
return a;
}

double x;

int main(void)
{
Template<int, &x, x>(1);
}

热点排行