mehr als eine Instanz der überladenen Funktion entspricht der Argumentliste

7

Ich erhalte den obigen Fehler, wenn ich

verwende %Vor%

Ich habe es in einer anderen Klasse verwendet, im selben Projekt und es zeigt diesen Fehler nicht.

Wie repariere ich es?

Vielen Dank

Chintan

    
chintan s 22.10.2012, 12:20
quelle

2 Antworten

17

Der Fehler weist normalerweise darauf hin, dass mehr als eine Überladung für die Funktion log10 vorliegt und dass keine von ihnen besser als die anderen für diesen bestimmten Aufruf ist. Beispielsweise könnten die Überladungen float und double : 100 ein int sein, die in beide konvertiert werden können und die Konvertierungen sind äquivalent, sodass der Compiler nicht bestimmen kann, was am besten ist Option ist.

Sie können die Konvertierung explizit in eine der Überladungen erzwingen:

%Vor%     
David Rodríguez - dribeas 22.10.2012, 12:26
quelle
14

Die allgemeine Frage ist, wenn Ihr Compiler über einen Aufruf von log10 das

meldet

"mehr als eine Instanz der überladenen Funktion entspricht der Argumentenliste"

bedeutet es, wie

  • mehr als eine Instanz

  • von log10

  • entspricht Ihren Argumenten

?

Tut es!

Das ist was die Fehlermeldung bedeutet!

Sie müssen es nur langsam und sorgfältig lesen, dann können Sie es verstehen.

Also, wie viele Instanzen gibt es dann log10 ?

Um das herauszufinden,

  • Sehen Sie sich nur die Dokumentation an.

Zum Beispiel könnten die Dokumente, die Sie haben, aufgelistet werden

%Vor%

Hier können Sie also überprüfen, ob der Compiler richtig ist.

Passt die erste Instanz zu Ihrem Argument?

Ja!

Passt die zweite Instanz zu Ihrem Argument?

Ja!

Entspricht die dritte Instanz Ihrem Argument?

Auch ja!

Sie müssen also ein Argument verwenden, das eine bestimmte Instanz besser macht.

Sie können beispielsweise ein Argument vom Typ double verwenden. Dann wird für die Instanz, die double Argument benötigt, keine Konvertierung benötigt. Und diese Instanz ist dann die bessere Übereinstimmung!

Siehe, es funktioniert wirklich

  • lesen Sie die Fehlermeldung, langsam und sorgfältig ,

  • finde heraus, was es bedeutet, und

  • Überprüfen Sie die Dokumentation .

Das tun diejenigen, die dir hier antworten.

Und du KANN das selbst machen! Yay!

    
Cheers and hth. - Alf 22.10.2012 12:29
quelle

Tags und Links