微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么不能在函数声明中将全局变量作为参数传递

如何解决为什么不能在函数声明中将全局变量作为参数传递

为什么不能全局定义变量,然后将其传递给函数,以便可以在多个地方使用该变量?我尝试在下面的代码中执行此操作,但是编译器抛出错误

#inclued <stdio.h>
using namespace std;
int a = 0;
int b = 0;

int add(int a,int b){
    int c = a+b;
    return c;
}

int main(){
    int c = add(5,6);
    cout<<c;
    return 0;
}

解决方法

如果您声明全局变量,则无需在函数中再次声明,而是可以直接使用

 int a = 0;
 int b = 0;
 int add(){
    int c = a + b;
    return c;
 }

如果您真的想使用params声明函数,则不需要全局变量,因为该函数将使用您的param而不是您的全局变量。

,

首先,您不应该将代码作为图像发布,可以通过以下链接来了解更多信息。

Why can't I pass global Variables as parameters in function declaration

在代码中,您已经将ab声明为全局变量。但是在您的添加函数中,ab都是它们本地空间中的全新变量。这就是为什么更改其本地空间的值不会对这些全局变量产生任何影响的原因。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。