Я не могу понять, почему я не могу инициализировать мой объект класса в одну строку, как показано ниже.Получение ошибок VS, которые не являются простыми для меня:
"ошибка: класс E0334" пример "не имеет подходящего конструктора копирования"
и
"C2440" инициализация ": невозможнопреобразовать «пример» в «пример» "
Какой-то код:
class example {
public:
example() { R = 0.F; I = 0.F; };
example(float, float);
example(example &);
example sum( float, float);
private:
float R, I;
};
example::example(float s1, float s2):R(s1), I(s2) {}
example::example(example & ex2) {
R = ex2.R;
I = ex2.I;
}
example example::sum(float s1, float s2){
example s;
s.R = s1;
s.I = s2;
return s;
}
int main() {
float a = 2;
float b = 4;
example object1(1,1);
example object2(object1.sum(a,b));
return 0;
}
Зачем инициализировать object2
так:
example object2(object1.sum(a,b));
получаю ошибку, но что-токак это:
example object2;
object2 = (object1.sum(a,b));
пройти без ошибки, это нормально?