0

これは私が持っているものです:

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.hに引数を取り込まないComplex()コンストラクターもありました

4

1 に答える 1

0

おそらくあなたの過ちは、あなたが犯したことでrealPartありimaginaryPart、タイプであることですint

それ以外の場合、このコードにはエラーはありません。

于 2012-12-10T00:02:29.423 に答える