gpt4 book ai didi

c++ - 在 C++ 中,函数是否可以在没有参数输入的情况下访问直接外部作用域中的变量?

转载 作者:搜寻专家 更新时间:2023-10-31 01:48:41 26 4
gpt4 key购买 nike

在 C++ 中,函数是否可以在没有参数输入的情况下访问直接外部作用域中的变量?

=========

这是我正在处理的代码

#include...
void ReadGrid();
void SaveGrid();

int main(){
ReadGrid();
}

void ReadGrid() {
int m=1;
int n[]={1,2,3};
vector<int> o(3,10);
SaveGrid();
}

void SaveGrid() {
int a=m;
int b=n[1];
int c=o[1];
}

为什么我不能在 SaveGrid() 中访问 ReadGrid() 函数中的变量,不是 SaveGrid() 在调用 SaveGrid() 时将 ReadGrid() 的范围视为全局?

最佳答案

这样你的问题可能会更好:

When function a() calls function b(), does b() automatically get visibility into all of a()'s local variables?

答案是……不。无论您的调用堆栈如何,它们仍然是不同的 block 作用域。

关于c++ - 在 C++ 中,函数是否可以在没有参数输入的情况下访问直接外部作用域中的变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17448253/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com