在main()中调用它后访问函数变量

mah*_*esh -1 c c++

我想在main()中访问Func()中的变量v1和v2

int main(void)
{
   Func();
   int k = ? //How to access variable 'v1' which is in Func()
   int j = ? //How to access variable 'v2' which is in Func()
}

void Func()
{
    int v1  = 10;
    int v2  = 20;
}
Run Code Online (Sandbox Code Playgroud)

我听说我们可以从Stack访问.但怎么办

谢谢.

unw*_*ind 9

你不能合法地做到这一点.一旦执行离开它们声明的范围,自动变量就会消失.

我确定有一些技巧,比如检查堆栈并及时"倒退",但所有这些技巧都是依赖于平台的,例如,如果你导致堆栈被覆盖,可能会破坏main().