函数之间共享变量

-1 c++ variables function global-variables

#include <iostream>

using namespace std;

void lemo(){
    int shamble;
}

int main(){
    lemo();
    shamble= 2;
    cout<<shamble;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我想要的只是从其他函数调用变量。执行后控制台会说:

'shamble' was not declared in this scope

对于这个问题我能做什么呢?

在其他文件和函数中使用变量和对象列表。

Chr*_*ris 6

你的编译器是正确的。shamble的范围内声明main。就目前情况而言,你的lemo函数什么也不做。它声明一个未使用的局部变量,然后退出。

您也可以编写以下内容,它实际上会编译。

#include <iostream>

int main() {
    int shamble = 2;
    std::cout << shamble;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

如果您希望一个变量可用于多个函数,可以将其声明为“全局”,但不要这样做。这很快就会导致代码难以推理和排除故障。

相反,您应该通过参数和返回值将信息从一个函数传递到另一个函数。或者您可能希望将该持久状态封装到对象中。