我最近正在审查一些代码,并且遇到了一些我感到困惑的东西。说我有一个功能,int getNewNumber(int num, int dir)
,像这样实现的:使用将该变量作为参数的函数初始化一个变量
int getNewNumber(int num, int dir) {
int newNum = num;
if(dir == 1) {
newNum++;
} else {
newNum--;
}
return newNum;
}
现在,调用函数时,我有这样的事情:
int number = getNewNumber(number, 1);
是它被传递到newNum之前初始化为0?我很困惑你在初始化时如何使用变量作为参数。
在外部范围中是否存在另一个具有相同名称的变量? –
该代码不应编译为C++代码 - 您的函数需要返回类型。 –
您正在阅读至少未指定行为的未初始化变量。 – nwp