Почему я не могу использовать неявную инициализацию?

Вот что у меня есть:

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 и imaaryPart как дубликаты. Это все еще не работает, хотя.

Когда я пытаюсь неявно инициализировать, он говорит, что нет подходящего преобразования из двойного в сложное.

EDIT2:
У меня также был конструктор Complex (), который не принимал никаких аргументов в моем Complex.h

0

Решение

Возможно, ваша ошибка в том, что вы сделали realPart а также imaginaryPart быть типом int

В противном случае этот код не имеет ошибок.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]