C++ 如果和如果其他错误消息
C++ If and if else error messages
我正在制作数学函数的集合。我使用 if 语句来创建错误消息并减少用户错误。我认为我做得不对。
string error_0;
string error_i;
if (num1 == 0;) {error_0 = "You cannot divide by zero. Fail."}
else {error_0 = "";}
if (num1=<0;) {error_i = "Sorry, can't do imaginary numbers."} //for sqroot function
else {error_i = "";}
if (num2=<0;) {error_i = "Sorry, can't do imaginary numbers."}
else {error_i = "";}
。这在代码中给了我以下错误消息::块编译。
- 预期")"在 ";" 标记之前(if 行)
- "标记(if 行)之前的预期主表达式
- 否则没有前一个 if (只是为了最后一个 else)
我真的很新C++,从例子中我发现一切看起来都正确。帮助将不胜感激。谢谢。
字符串后需要一个分号,在if
条件中不需要分号。此外,运算符是<=
,而不是=<
。
string error_0;
string error_i;
if (num1 == 0) {error_0 = "You cannot divide by zero. Fail.";}
else {error_0 = "";}
if (num1 <= 0) {error_i = "Sorry, can't do imaginary numbers.";} //for sqroot function
else {error_i = "";}
if (num2 <= 0) {error_i = "Sorry, can't do imaginary numbers.";}
else {error_i = "";}
不要将分号放在"()"括号中。另一方面,您必须用分号结束每条指令(并且您没有在第一个"{}"括号中执行此操作)。它应该是:
if (num1 == 0) {error_0 = "You cannot divide by zero. Fail.";}
else {error_0 = "";}
顺便说一句,如果您在 if 或 else 之后使用简单的指令,则不必使用括号,也可以:
if (num1 == 0)
error_0 = "You cannot divide by zero. Fail.";
else
error_0 = "";
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
设置为 ""
是没有意义的,而且可能效率低下(无论如何,它们在默认构造后是空的),但拥有清楚地表达您对程序的想法的代码通常更重要。
相关文章:
- 如果没有malloc,链表实现将失败
- boost::进程间消息队列引发错误
- 如果我只是不访问queue_front节点的子节点,而是将它们推到队列中呢?还是BFS吗
- std::map<struct,struct>::find 找不到匹配项,但是如果我循环通过 begin() 到 end(),我在那里看到匹配项
- 如果C++类在类方法中具有动态分配,但没有构造函数/析构函数或任何非静态成员,那么它仍然是POD类型吗
- 如果用户输入的字符过多,则创建错误消息
- 如果消息被 TCP 分段,接收方会做什么
- 如果使用WM_PAINT样式创建 Window,则永远不会传递WS_POPUP消息
- 如果我在 Xbox UWP 应用程序上收到激活错误并且错误消息中没有任何有用的内容,该怎么办
- 如果 PUB 首先启动并连接到 XPUB/XSUB 代理,则消息将被丢弃,直到 SUB 未连接
- 如果我没有收到来自客户端的消息,如何每 20 秒打印一次日期时间
- 如果不是,如何停止显示来自其他的消息
- setOverrideCursor(Qt::WaitCursor) 如果在消息框之后调用,则不起作用
- 如果对象将在消息处理程序中使用,如何解决内存泄漏问题
- 如果安装在单独的类上,Qt消息处理程序将崩溃
- 如果引发异常,则使外部C++函数返回一条消息
- 如果单击“确定”或按enter键,Visual C++消息框的行为会有所不同
- 如果没有QDebug消息,Qt应用程序就会崩溃
- 错误消息:"jj"的名称查找已更改为ISO"for"范围,(如果您使用"
- C++ 如果和如果其他错误消息