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

函数成员模板,该如何解决

2012-03-29 
函数成员模板各位高手求教:这个程序原理是对的,为什么用vc2005运行报错那?#include iostreamusing names

函数成员模板
各位高手求教:这个程序原理是对的,为什么用vc2005运行报错那?
#include <iostream>
using namespace std;
template<class A>
class Test
{
public:
template<class B>
A f(B);
};
template<class A>
template<class B>
A Test<A>::f(B)
{
return (A)B; //。 error C2275: “B”: 将此类型用作表达式非法
}
int main()
{
Test<int> t;
double x=3.233;
t.f(x);
return 0;
}

[解决办法]
此时B是一个类型不是变量,在定义模板成员函数时,要有变量的名字,此处修改一下:
template<class A>
template<class B>
A Test<A>::f(B b)
{
return (A)(b);
}

热点排行