【问题标题】:Error after variable used as a function parameter in C?变量用作C中的函数参数后出错?
【发布时间】:2019-10-28 22:11:11
【问题描述】:

在使用 C++ 或其他编程语言创建函数时,我可以在创建变量后将变量用作函数参数吗?

例如如下所示。代码出错,但我想知道是否可以这样做:

#include <iostream>
using namespace std;
int a = 0;
int dondur(a){
    return a;
}

int main(int argc, char **argv)
{
    int b=20;
    cout << dondur(b);
    return 0;
}

【问题讨论】:

  • 您好,欢迎您。你能改写你的问题吗?不清楚你在问什么。
  • 不,你不能那样做。最接近我猜你想要的是正常声明你的参数并调用为dondur(a = b)

标签: c++ function parameters


【解决方案1】:

事实上,你的函数应该是这样的

int dondur(int a){
    return a;
}

这是合法的。参数“int a”隐藏了全局变量。因此,预期输出为 20,全局变量 a=0 保持不变。

【讨论】:

  • @KonradRudolph 感谢您的反馈;我删除了最后一句话。这种用法是否令人困惑取决于上下文,实际上在某些地方是一种很好的做法。但是,可能不建议在全局命名空间中使用模糊的名称,例如“a”。
猜你喜欢
  • 1970-01-01
  • 2017-10-20
  • 2020-10-28
  • 1970-01-01
  • 2014-10-24
  • 2010-12-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多