gpt4 book ai didi

c++ - 使用结构时,表达式必须具有(指针到)函数类型

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

基本上我所做的是将一组结构从一个函数传递到另一个函数。它适用于显示功能,但不适用于最大功能:/我到底做错了什么?

void show( const ABC & x ){
cout<<"{"<<x.n<<",'"<<x.c<<"',{"<<x.a[0]<<","<<x.a[1]<<","<<x.a[2]<<"}}";
}

void show( const ABC arr[], unsigned elements ){
for(unsigned i=0; i<elements; i++)
show(arr[i]);
}

以下不工作

double max( const ABC & x ){
double max=x.a[2];
if(x.a[1]>max)
max=x.a[1];
if(x.a[0]>max)
max=x.a[0];
return max;
}

double max( const ABC arr[], unsigned elements ){
double max=arr[2].a[3];
for(unsigned i=0; i<elements; i++)
if(max<max(arr[i])){
max=max(arr[i]);
}
return max;
}

最佳答案

将您的 double 变量重命名为 max 以外的名称。事实上,它隐藏了共享相同名称的函数,因此调用表达式无效的原因(您试图将参数传递给 double)。

关于c++ - 使用结构时,表达式必须具有(指针到)函数类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12232183/

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