Come risolvere “Nessun sovraccarico per il metodo” richiede 0 argomenti “?

Come posso risolvere questo errore?

“Nessun sovraccarico per il metodo ‘output’ richiede 0 argomenti”.

L’errore si trova in fondo a “fresh.output ();”.

Non so cosa sto sbagliando. Qualcuno può dirmi cosa dovrei fare per correggere il codice?

Ecco il mio codice:

using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication_program { public class Numbers { public double one, two, three, four; public virtual void output(double o, double tw, double th, double f) { one = o; two = tw; three = th; four = f; } } public class IntegerOne : Numbers { public override void output(double o, double tw, double th, double f) { Console.WriteLine("First number is {0}, second number is {1}, and third number is {2}", one, two, three); } } public class IntegerTwo : Numbers { public override void output(double o, double tw, double th, double f) { Console.WriteLine("Fourth number is {0}", four); } } class program { static void Main(string[] args) { Numbers[] chosen = new Numbers[2]; chosen[0] = new IntegerOne(); chosen[1] = new IntegerTwo(); foreach (Numbers fresh in chosen) { fresh.output(); } Console.ReadLine(); } } } 

Ti sta dicendo che il metodo “output” ha bisogno di argomenti. Ecco la firma per “output”:

 public override void output(double o, double tw, double th, double f) 

Quindi se vuoi chiamarlo devi passare quattro doppi.

 fresh.output(thing1,thing2,thing3,thing4); 

O per usare valori hard coded come esempio:

 fresh.output(1,2,3,4); 

Non esiste un metodo denominato output che accetta 0 argomenti, ce n’è solo uno che accetta 4 argomenti. Devi passare i parametri a output() :

 foreach (Numbers fresh in chosen) { fresh.output(o, tw, th, f); } 

Stai chiamando il metodo di output con 0 (zero) parametri, ma hai dichiarato di ricevere 4 valori doppi. Il compilatore non sa cosa dovrebbe chiamare, poiché non esiste un metodo di output senza parametri.

Tutte le implementazioni output del metodo output argomenti. Fornisci gli argomenti e dovresti essere in grado di compilare.

Come questo:

 fresh.output(1, 2, 3, 4); 

fresh.output() prevede 2 parametri e non li stai fornendo