当前位置: 首页 > 编程语言 > C#

如何修复“方法未重载”需要0个参数?分享

时间:2023-04-10 15:05:28 C#

如何修复“方法未重载”需要0个参数?我该如何解决这个错误?“方法‘output’的重载不带0个参数”。错误在“fresh.output();”的最底部。我不知道我做错了什么。谁能告诉我应该如何修复代码?这是我的代码:使用系统;使用System.Collections.Generic;使用System.Linq;使用系统文本;namespaceConsoleApplication_program{publicclassNumbers{publicdouble一、二、三、四;publicvirtualvoidoutput(doubleo,doubletw,doubleth,doublef){one=o;二=tw;三=第;四=f;}}publicclassIntegerOne:Numbers{publicoverridevoidoutput(doubleo,doubletw,doubleth,doublef){Console.WriteLine("第一个数是{0},第二个数是{1},第三个数是{2}",一,二,三);}}publicclassIntegerTwo:Numbers{publicoverridevoidoutput(doubleo,doubletw,doubleth,doublef){控制台。WriteLine("第四个数是{0}",four);}}类程序{staticvoidMain(string[]args){Numbers[]chosen=newNumbers[2];选择[0]=newIntegerOne();选择[1]=newIntegerTwo();foreach(选择的新鲜数字){新鲜。输出();}安慰。读线();}}}它告诉您“输出”方法需要参数。这是“输出”的签名:publicoverridevoidoutput(doubleo,doubletw,doubleth,doublef)所以,如果你想调用,你需要传递四个双精度数。fresh.output(thing1,thing2,thing3,thing4);或者使用硬编码值作为例子:fresh.output(1,2,3,4);没有名为output的方法采用0个参数,只有一个采用4个参数。你必须将参数传递给output():foreach(Numbersfreshinchosen){fresh.output(o,tw,th,f);您使用0(零)参数调用输出方法,但您已声明它接收4个双精度值。编译器不知道它应该调用什么,因为没有没有参数的输出方法。方法输出的所有实现都采用参数。提供参数,您应该能够编译。像这样:fresh.output(1,2,3,4);fresh.output()2个参数而你没有提供以上是C#学习教程:如何解决“方法未重载”需要0个参数?分享的全部内容,如果对你有用的话需要了解更多C#学习教程,希望大家多多关注。本文收集自网络,不代表立场,如涉及侵权,请点击右边联系管理员删除.若转载请注明出处: