整数値と浮動小数点値をとることができるはずの関数(およびコンストラクター)があります。実際、私はそれがint64_t
またはを取りたいlong double
ので、私が欲しいのは、
class Foo {
public:
Foo(int64_t value=0);
Foo(long double value);
};
ただし、これを実行して試してみると、コンパイラはからへの変換があいまいであるとFoo f = 1;
文句を言います。わかりましたが、最初のコンストラクターを変更して、そのようなあいまいさはありません。なぜこれが当てはまるのか、誰かが私に説明できますか?int
Foo
int32_t