哪位高手帮我看一下下面的程序

来源:百度知道 编辑:UC知道 时间:2024/05/25 11:15:53
template <class T> class AngleData
{
public:

T Array[6];
T Chanel(int i)
{
return Array[i-1];
}
AngleData()
{
;
}
operator AngleData<class T1>()
{
AngleData<T1> temp;
temp.Array[0]=Array[0];
temp.Array[1]=Array[1];
temp.Array[2]=Array[2];
temp.Array[3]=Array[3];
temp.Array[4]=Array[4];
temp.Array[5]=Array[5];
return temp;
}

operator int()
{

return Array[0] ;

}

};
看看这个类模板的类型转换运算符为什么不能用?
就是想把AngleData<int>型转换成AngleData<float>型的,结果编译不能通过;

函数声明如下:
template<class T1> operator AngleData<T1>()
{
……
}
调用方式如下:
AngleData<int> temp;
AngleData<float> temp1=AngleData<float>(temp);
我在MinGw下编译,不知道你的编译环境是什么?
有空可以交流。
不敢保证你的可以编译通过,告诉我你的编译环境;

老兄你的格式好丑