C++:errorC2234::arraysillegal - 爱问答

(爱问答)

C++:errorC2234::arraysillegal

#include<iostream>

using namespace std;

int money;int temp=money;

int remain=money;

int a[6]={0};int c[6]={0};

int b[6]={100,50,10,5,2,1};

void PrintArray(int a[],int b[]);//输出结果

 void Algo(int &remain,int &c[],int b[]);//多种支付方式的递归算法

int main(){

//求最大面值

 for(int i=0;i<6;i++)

 while(temp>=b[i])

{   temp-=b[i];  

 a[i]++;  } 

}PrintArray(a,b);

//多种支付方式的递归算法

while(remain>0) 

Algo(remain,c,b);

return 0;

}

void PrintArray(int a[],int b[])

{

 for(int j=0;j<5;j++)

{ cout<<b[j]<<"元"<<a[j]<<"张"<<','; }

 cout<<b[j]<<"元"<<a[j]<<"张"<<endl;

}

void Algo(int &remain,int &c[],int b[]){

 for(int i=0;i<6;i++){  

remain=remain-b[i];

 c[i]++; 

 Algo(&remain,&c[],b[]);

 }

}

--------------------Configuration: PayWays - Win32 Debug--------------------

PayWays.cpp(12) : error C2234: '<Unknown>' : arrays of references are illegal

(36)error C2664: 'Algo' : cannot convert parameter 2 from 'int [6]' to 'int *[]'        Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style 

cpp(48) : error C2234: '<Unknown>' : arrays of references are illegal

cpp(52) : error C2059: syntax error : ']'执行 cl.exe 时出错.

PayWays.obj - 1 error(s), 0 warning(s)

你的程序,有N多问题,主要是你对C++有很多基本概念不清楚,从语法上至少有两大问题

一,

void Algo(int &remain,int &c[],int b[]);//多种支付方式的递归算法

数组本身就是地址,它不能用引用的,也就是用

void Algo(int &remain,int c[],int b[]);//多种支付方式的递归算法

是可以的,但不能用int &c[]

二,

Algo(&remain,&c[],b[]);

你的调用参数完全不对,因为remain是引用,b,c是数组,所以只能直接

      Algo(remain,c,b);
调用函数

三.

cout<<b[j]<<"元"<<a[j]<<"张"<<endl;

你的j作用域是for循环中的,循环退出i就不能用了

而逻辑上

一..

int money;int temp=money;

int remain=money;

这里的 temp=money;没有任何意义(括下面的=money)

对全局变量money,它初始值肯定为0,而temp无论你是否等于money,它也是0,且不影响它后面的值(不是数学表达式,可以作为公式)

二.

你Algo递归逻辑也完全不对,无法看明白你递归逻辑

因为既然用递归,一般就不会有循环了(递归本身就是循环调用)


下一篇:第5题怎么做啊

上一篇:chrome请确保二进制储存在指定的路径中,或者调试他以检查该二进制或相关的DLL文件我是win7

热门标签:
excel 网盘 破解 word dll
最新更新:
微软重新评估新的Outlook的使用时机 联想推出搭载联发科Helio G80芯片组的Tab M9平板 英特尔创新大赛时间确定! 微软Edge浏览器在稳定渠道中推出Workspaces功能 英伟达RTX4060TiGPU推出MaxSun动漫主题! 谷歌地图为用户提供了街景服务! GameSir 在T4 Kaleid中推出了一款出色的控制器! 微软开始在Windows 11 中测试其画图应用程序的新深色模式! LG电子推出全球首款无线OLED电视 英伟达人工智能芯片崭露头角! Steam Deck可以玩什么游戏-Steam Deck价格限时优惠 雷蛇推出CobraPro鼠标 Kindle电子阅读器可以访问谷歌商店吗 Windows10如何加入组策略 window10图片查看器怎么没有了?