我正在尝试使用静态变量作为计数器来调用函数的次数。本质上,我让函数A多次调用函数B,并且我希望函数B将该值返回给函数A,以便可以显示它。下面是我的测试代码的示例(此处main是函数A,showStat是函数B)。截至目前,输出为012340;所需的输出是012344。在此先感谢。
int showStat()
{
static int statNum;
cout<<statNum; //function check
statNum++;
return statNum;
}
int main()
{
int statNum;
for( int i = 0; i < 5 ; i++)
{
showStat();
}
cout<<statNum;
return 0;
}
最佳答案
总的来说,改变
showStat();
至
statNum = showStat();
您有两个名为statNum的变量。显然,计数发生在showStat()函数内部的静态变量中。但是在main()中,没有读取showStat()的返回值,您只是在打印未初始化的局部变量,编译器恰巧将其分配给初始值0。
关于c++ - 静态变量的返回值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40167412/