Wil*_*ill -4 c++ operators unary-operator
在C ++中,当我运行以下代码时:
void main()
{
2;
+
3;
}
Run Code Online (Sandbox Code Playgroud)
没有错误,但是当我运行此代码时:
void main()
{
2;
*
3;
}
Run Code Online (Sandbox Code Playgroud)
有这个错误:
main.cpp:5:3: error: invalid type argument of unary ‘*’ (have ‘int’)
5 | 3;
| ^
Run Code Online (Sandbox Code Playgroud)
请有人解释一下谢谢
Bla*_*aze 10
忽略2;,它本身就是一个不执行任何操作的语句。然后,如果我们删除空格,我们得到
+3;
Run Code Online (Sandbox Code Playgroud)
这是一个有效的表达式。像怎么-3;也有效。+3与相同3。您可以在此处阅读有关一元加号的信息:
+ expression一元加号(促销)。
对于内置运算符,表达式必须具有算术,无作用域枚举或指针类型。如果操作数具有整数或无范围的枚举类型并确定结果的类型,则对操作数执行积分提升。
*3另一方面,是没有意义的。一元*不能应用于文字3。