double salary = wage = 9999.99错误
在看书时,有这么一句表达式
double salary = wage = 9999.99;
在Linux中编译时,不能通过,提示是
error: ‘wage’ was not declared in this scope
这个错误应该这样理解。在C++中,=
是从右到左进行结合,那么这个表达式可以拆分如下
double salary = (wage = 9999.99);
这样的话,这条表达式的意思是将9999.99赋值
给wage
这个变量,然后用wage
这个变量来初始化
这个salary
变量。由于在赋值
操作时,编译器未找到wage
这个变量,那么就会报错。
将表达式拆分如下,即可通过编译:
double wage;
double salary = wage = 9999.99;
如果文章对你有帮助,就点个赞吧!