簡體   English   中英

為什么我不能使用隱式初始化?

[英]Why am I not able to use implicit initialization?

這就是我所擁有的:

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。 不過,它仍然無法正常工作。

當我嘗試隱式初始化時,它說沒有從Double到Complex的適當轉換。

EDIT2:我也有一個Complex()構造函數,在我的Complex.h中沒有任何參數

可能您的錯誤是您使realPartimaginaryPart的類型為int

否則,此代碼沒有錯誤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM