atan2
クラス テンプレートで関数を使用しようとしていますが、機能しません。myclass というクラスがあり、関数のテンプレートを作成しようとしています。この関数は、a と b の 2 つの数値の tan を取得します。これらは両方とも int または両方とも double のいずれかです。
template <class T>
T myclass<T>::returnArg()
{
T arg(0);
arg = atan2(a, b);
return arg;
}
しかし、私は得るerror C2668: 'atan2' : ambiguous call to overloaded function
。誰でもこれを修正するために何かを提案できますか?
ありがとうございました。
編集: int と double を 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){};
// ...