string error_i;
if (num1=<0;) {error_i = "Sorry, can't do imaginary numbers."}
else {error_i = "";}
- оператор сравнения, который вам нужен, это
<=
(думаю, меньше или равно), а не =<
- выражения в скобках не нуждаются в точках с запятой, а операторы
- здесь
if (expression) { [first-statement-when-true; [second...;]] } else { [first-statement-when-false; [second...;]] }
Этого достаточно, чтобы заставить его работать, но в любом случае std::string
конструктор по умолчанию сам по себе "", так что вам не нужнокод else { error_i = ""; }
вообще ...
string error_i;
if (n <= 0)
error_i = "Sorry, can't do imaginary numbers.";
ИЛИ, вы можете уловить то или иное ощущение вашего оригинала и сразу же дать error_i
значимое значение, как в:
string error_i = n <= 0 ? "Sorry, can't..." : "";
Выше ?
и :
выбирают значение между ними или после них на основе истинности предыдущего выражения (n <= 0
), затем оно присваивается в качестве начального значения error_i
,Некоторые люди думают, что это плохо, потому что установка std::string
в ""
бессмысленна и, возможно, немного неэффективна (в любом случае они пустые после построения по умолчанию), но обычно важнее иметь код, который четко выражает ваше представление о программе.