为什么我无法使用隐式初始化?

时间:2012-12-09 23:42:10

标签: c++ initialization implicit

这就是我所拥有的:

Complex.h
class Complex
{
public:
    Complex(double initialRealPart, double initialImaginaryPart = 0.0)
    : realPart(initialRealPart), imaginaryPart(initialImaginaryPart)
    {
    }
    Complex() { }

private:
    double realPart;
    double imaginaryPart;
};


int main()
{
    Complex c = 4.5;
}

不是隐式初始化应该在这种情况下工作吗?

编辑: 哎呀,我实际上有一个realPart和imaginaryPart在我的代码中是双打的。但它仍然无法正常工作。

当我尝试隐式初始化时,它表示没有合适的从double转换为Complex。

EDIT2: 我还有一个Complex()构造函数,它没有接受我的Complex.h中的任何参数

1 个答案:

答案 0 :(得分:0)

您的错误可能是您将realPartimaginaryPart设为int类型

否则此代码没有错误。