1
我试图在我的类模板中使用函数atan2
,但它不起作用。我有一个名为myclass的类,我试着制作一个函数模板,这个函数是取两个数字a和b的tan。这些既可以同时为int或两者是双打使用atan2与类模板失败,ambigous调用重载函数
template <class T>
T myclass<T>::returnArg()
{
T arg(0);
arg = atan2(a, b);
return arg;
}
,但我得到error C2668: 'atan2' : ambiguous call to overloaded function
。任何人都可以提出一些解决办法吗?
谢谢。
编辑:我想是能够整数和双打传递给ATAN2函数,我已经试过
arg = atan2(<T> a, <T> b);
但没有奏效。
编辑2:我声明a和b在我的类作为
template <class T> class myclass
{
private:
T a,b;
public:
myclass(): a(0),b(0){};
myclass(T r, T i) : a(r), b(i){};
// ...
'a'和'b'是什么类型? – ildjarn 2012-04-24 19:52:24
是'a'和'b'全局变量吗? – TemplateRex 2012-04-24 19:54:01
提示:如果错误消息提到“重载函数”,则函数参数的类型对问题至关重要。 – 2012-04-24 20:06:54