这是我代码的相关部分。我几乎只是实现了一个复数类。我们不知道在构造函数中将哪种类型的值作为参数给出。 (&&,以便右值也能正常工作)我给重载提供了默认值0。
class Complex { double real; double img; public: template <class T1, class T2> Complex(T1&& inpreal = 0, T2&& inpimag = 0) //cant do bc of narrowingconv : real{inpreal}, img{inpimag} { real = inpreal; img = inpimag; }
我正在尝试测试两个复数之间的除法(div / multiply运算符正常工作,所以我创建了另一个复数]
Complex A(2, 2); Complex B(3, 2); Complex C; C = A * (B * 2); std::cout << B;
但是由于某种原因,它没有看到我的构造函数与模式匹配。我认为在这种情况下,可以省略默认值。 (所以在这里它只会为img和real分配0)我在做错人吗?tyvm
这是我代码的相关部分。我几乎只是实现了一个复数类。我们不知道在构造函数中将哪种类型的值作为参数给出。 (&&以便...