在函数 c++ 中返回数组时出现问题
Issue with returning array in function c++
我对函数中的返回数组有问题。 编译器说:
main.cpp:在函数 'int main((' 中: main.cpp:52:13: 错误: 预期 "]"标记 main.cpp 之前的主要表达式:在函数 'double 面积(Trapec*, int(': main.cpp:65:12: 错误: 预期 "]"标记之前的主要表达式返回 p[];
这是我的代码:
#include <iostream>
using namespace std;
struct Trapec
{
double a=0;
double b=0;
double h=0;
};
double Area(Trapec);
int main()
{
int br;
cout<<"Vuvedete broq na trapecite : ";
cin>>br;
// double S=0,min=0;
// double areas[50];
Trapec p[50];
for(int i=0;i<=br;i++){
cout<<"Vuvedete a : ";
cin>>p[i].a;
cout<<"Vuvedete b : ";
cin >>p[i].b;
cout<<"Vuvedete h: ";
cin>>p[i].h;
}
Area(p[]);
return 0;
}
double Area(Trapec p[], int br)
{
double S=0;
double areas[50];
for(int i=0;i<=br;i++){
S=p[i].a + p[i].b + p[i].h;
areas[i] = S;
}
return p[];
}
代码中有几个问题:
-
函数声明和定义函数是不同的
double Area(Trapec);
double Area(Trapec p[], int br)
是两个不同的函数。 -
循环结束条件是错误的(
for(int i=0;i<=br;i++)
(,在这种情况下,它将比您输入的迭代多+1次,必须for(int i=0;i<br;i++)
,i<br
而不是i<=br
。 -
你的参数
p
(double Area(Trapec p[], int br)
(接受数组,编译器也接受它作为指针,所以不需要返回值,p将更改传递数组的所有数据,将Area(...)
的代码更改为:void Area(Trapec p[], int br) { double S=0; double areas[50]; for(int i=0; i<=br ;i++) { S=p[i].a + p[i].b + p[i].h; areas[i] = S; } }
传递 参数是错误的,你不能像
Area(p[]);
一样传递,并且必须有第二个参数br
。您需要传递简单的Area(p,br);
.
所以最后你的代码将看起来像:
struct Trapec
{
double a=0;
double b=0;
double h=0;
};
void Area(Trapec p[], int br);
int main()
{
int br;
cout<<"Vuvedete broq na trapecite : ";
cin>>br;
Trapec p[50];
for(int i=0;i<br;i++){
cout<<"Vuvedete a : ";
cin>>p[i].a;
cout<<"Vuvedete b : ";
cin >>p[i].b;
cout<<"Vuvedete h: ";
cin>>p[i].h;
}
Area(p, br);
return 0;
}
void Area(Trapec p[], int br)
{
double S=0;
double areas[50];
for(int i=0; i<=br ;i++)
{
S=p[i].a + p[i].b + p[i].h;
areas[i] = S;
}
}
当输入测试数据输出如下所示时:
Vuvedete broq na trapecite : 2
Vuvedete a : 1
Vuvedete b : 1
Vuvedete h: 1
Vuvedete a : 2
Vuvedete b : 2
Vuvedete h: 2
Program ended with exit code: 0
相关文章:
- cpp二进制搜索问题,计算给定数组中输入元素的出现次数
- 输入std::数组时出现问题
- 类对象数组的问题会导致崩溃
- 传递二维数组时出现问题
- 从 C++ 中的函数返回数组地址问题
- 使用数组时出现问题
- 打印问题.我在数组中打印值时遇到一些问题
- C++:__aligned(__alignof__) 导致字符数组数据出现问题?
- 将字节数组转换为带有字节序问题的指针
- C++ 填充数组时遇到问题
- 遇到此问题时遇到困难:允许用户输入数组的值并使用 for,而循环也输出输入的最大数字
- 这是使用回溯的 nqueen 问题,但我使用了动态 2d 数组,我的程序编译良好,但不返回任何输出
- 当我尝试通过 arduino 上的引用传递布尔数组时出现问题
- 我正在尝试解决一个需要数组总和值但代码不起作用的问题,我想做这样的事情
- 编写 cin.get() 以接收字符数组时出现问题
- 在 C++ Consol 中的数组中执行用户命令时出现问题
- 存储另一个函数返回的布尔数组时遇到问题
- 当我在 CLion 中读取数组中的 txt 文件时C++编码问题
- 运行时C++数组初始化问题
- 我在解决此错误时遇到问题.我正在努力在主函数中传递数组