Comment réparer “Pas de surcharge de la méthode '' a 0 arguments”?
Comment puis-je corriger cette erreur?
"Pas de surcharge de la méthode 'sortie' a 0 arguments".
L'erreur est à la fin au "frais.output();".
Je ne sais pas ce que je fais mal. Quelqu'un peut me dire ce que je dois faire pour corriger le code?
Voici mon code:
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();
}
}
}
Je ne pouvais pas penser à un plus complet du message d'erreur... qu'est-ce que vous ne comprenez pas ?
frais.output(); passer le paramètre ici,il devrait ressembler à la sortie(o double, double tw, double th, double f);
Message d'erreur n'est pas clair?
Avant de poster la question ici d'essayer de les résoudre à votre côté.
savez-vous ce que surcharge c'est ?
frais.output(); passer le paramètre ici,il devrait ressembler à la sortie(o double, double tw, double th, double f);
Message d'erreur n'est pas clair?
Avant de poster la question ici d'essayer de les résoudre à votre côté.
savez-vous ce que surcharge c'est ?
OriginalL'auteur User | 2013-10-22
Vous devez vous connecter pour publier un commentaire.
C'est vous dire que la méthode de la "sortie" des besoins des arguments. Voici la signature de "sortie":
Donc, si vous voulez appel que vous avez besoin de passer par quatre doubles.
Ou à l'utilisation de valeurs codées comme un exemple:
Lorsque vous appelez une méthode, vous passez dans les instances. Vous n'avez pas à déclarer le type de nouveau. Ce qui est fait lors de la déclaration de la méthode. Vous avez besoin de comprendre la différence entre l'appel de la méthode et de la déclaration de la méthode.
OriginalL'auteur Bill Gregg
Il n'y a pas de méthode nommée
output
qui prend 0 arguments, il n'y a qu'un seul qui accepte les 4 arguments. Vous devez passer des paramètres àoutput()
:OriginalL'auteur Chris Mantle
Vous appelez le
output
méthode avec 0 (zéro) des paramètres, mais vous l'ai annoncé à recevoir 4 valeurs doubles. Le compilateur ne sait pas ce qu'il devrait l'appeler, car il n'y a pas deoutput
méthode sans paramètre.OriginalL'auteur codeling
Tous vos implémentations de la méthode
output
des arguments. Fournir les arguments et vous devriez être en mesure de compiler.Comme ceci:
OriginalL'auteur Mikael Östberg
fresh.output()
attendre 2 paramètres et vous n'êtes pas fournir euxOriginalL'auteur Manoj Naik