gpt4 book ai didi

c++ - 找不到标识符怎么办?有人可以解释吗?

转载 作者:行者123 更新时间:2023-11-28 02:01:02 25 4
gpt4 key购买 nike

我是编程的新手,我正在学习 C++,我遇到了一个我想尝试某种方式的程序,它具有多种功能,这样我就可以理解并获得更多练习。

程序假设取 5 个数字的平均值,这就是作业,我知道有更简单的方法,但我想练习创建函数和传递变量。教授还推荐我这样做是为了加分。

这是我的。

#include<iostream>
#include<string>

using namespace std;

float num1, num2, num3, num4, num5;

float main() {

cout << "Basic Average Calculator" << endl;
cout << "Plaese Input your list of 5 numbers Please place a space after EACH number: " << endl;
cin >> num1 >> num2 >> num3 >> num4 >> num5;
cout << "Your Average is: " << average(num1, num2, num3, num4, num5);
return 0;
}

float average(float a, float b, float c, float d, float e) {
a = num1, num2 = b, num3 = c, num4 = d, num5 = e;

float total = (a + b + c + d + e)/5;

return total;
}

这段代码不起作用,我不知道为什么当我输入它时我在 Visual Studios 上没有语法错误,我觉得逻辑是正确的?

我在 average() 函数上收到“找不到标识符”错误??

有经验的可以帮帮我吗??

最佳答案

单程编译:标识符必须在使用前声明

void f() { g(); }
void g() {}

是非法的。您可以通过前向声明来解决此问题:

void g();  // note the ;

void f() { g(); } // legal
void g() {}

在您的情况下,将average 移动到main 之前或添加

float average(float a, float b, float c, float d, float e);

main 之前的某处。

--- 编辑---

这行代码看起来有问题:

    a = num1, num2 = b, num3 = c, num4 = d, num5 = e;
^^^^^^^^

假设这应该是

    a = num1, num2 = b, num3 = c, num4 = d, e = num5;

那么似乎没有理由让这个函数首先接受参数。

您可以将代码更改为:

float average()
{
return (num1 + num2 + num3 + num4 + num5) / 5;
}

int main()
{
...
cout << "Your Average is: " << average();
...
}

float average(float a, float b, float c, float d, float e)
{
return (a + b + c + d + e) / 5;
}

int main()
{
...
cout << "Your Average is: " << average(num1, num2, num3, num4, num5);
...
}

关于c++ - 找不到标识符怎么办?有人可以解释吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39522946/

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