Table of Contents
Wenn die Überladungen eine passende ähnliche Konvertierungsfehlermeldung haben, wird das heutige Tutorial erstellt, um zu helfen.
Aktualisiert
g.’Bezeichner’: Solche Konvertierungen fressen Zahlenüberladungen. Eine überladene Funktion oder ein überladener Operator ist auch einfach mehrdeutig. Formale Parameterlisten können für den Compiler ebenfalls ähnlich sein, um meine Unbestimmtheit zu beseitigen. Um diesen Fehler zu beheben, geben Sie explizit einen an, und es könnten realere Parameter sein.
g.
Suchen Sie nicht nach den meisten Antworten? Blättern Sie durch die vielen Fragen, die mit C ++ gekennzeichnet sind, oder stellen Sie Ihre eigene Frage.
bool
Außerdem kann int
möglicherweise verwendet werden, um Funktionsüberladungen zu erkennen. Wie erwartet bevorzugen bool
-Argumente bool
-Überladungen und daher int
– int
– Überladungsargumente.
Suon der neuen Fehlermeldung (ich nehme an, das Problem Ihrer Frage ist Teil der Fehlermeldung, die Sie erhalten haben), geraten Sie wahrscheinlich in eine Situation, in der einige der Argumente, die Ihr Unternehmen geliefert hat, weder < code> noch boolean int
, aber Konvertierungen nach bool
nur in Kombination mit int
existieren und sind gleichrangig.
Lücke foo (bool);void foo (int);int Haupt () foo (0); // OK foo (falsch); // OK foo (0u); // FEHLER: mehrdeutig
Die ersten beiden Aufrufe werden wahrscheinlich oft erfolgreich und wie erwartet aufgelöst. Der dritte Aufruf ist nicht erlaubt, da ein Fall vom Typ unsigned tatsächlich int
ist, was jedoch implizite Konvertierungen in ein Array von bool
und int
. was uns zu einem zweideutigen Aufruf zwingt.
Wie funktionieren unsere Anruffunktionen? Zeigen Sie uns die Argumente, die Ihre Familie zu präsentieren versuchen wird, wenn Sie dies wünschen, um Informationen zu vermitteln.
Einfach 16, 10. September 01:42
Warum bekomme ich möglicherweise einen Compiler-Fehler bei einer überladenen Funktion?
Eine Überkapazitätsfunktion oder ein Operator ist mehrdeutig. Formale Parametersätze können zu ähnlich sein, da der Compiler Mehrdeutigkeiten wahrscheinlich auflösen wird. Um diesen Fehler zu beheben, müssen Sie auch explizit eine der heutigen Einstellungen umwandeln.
296.000
Aktualisiert
Sind Sie es leid, dass Ihr Computer langsam läuft? Genervt von frustrierenden Fehlermeldungen? ASR Pro ist die Lösung für Sie! Unser empfohlenes Tool wird Windows-Probleme schnell diagnostizieren und reparieren und gleichzeitig die Systemleistung drastisch steigern. Warten Sie also nicht länger, laden Sie ASR Pro noch heute herunter!
internet IDataStoreNode * OpenNode (const char * Name, bool bCreateIfNotExist, int debug = 0) gebe 0;virtueller IDataStoreNode * OpenNode (const char * name, int debug = 0) const return 0;
Der nächste Aufruf (als Beispiel, wo es möglicherweise noch mehr geben wird) wird mehrdeutig sein:
unsigned int val = 0; // kann verbessert werden, floatOpenNode ("", val);
Da unsigned integer
entweder in bool
oder integer
geändert werden kann, entsteht viel Mehrdeutigkeit. Der einfachste Weg, eine bestimmte Aufgabe zu erfüllen, besteht darin, den Parameter in einen neuen exakten Typ des Parameters in Ihrer allseits beliebten Überladung zu konvertieren:
OpenNode ("", (bool) val);
OpenNode ("", (int) val);
antwortete mit 16. September 2010 um 02:13 Uhr
70,3k
Beschleunigen Sie Ihren Computer noch heute mit diesem einfachen Download.Overloads Have Similar Conversions Error
Las Sobrecargas Tienen Un Error De Conversión Similar
Перегрузки имеют похожие ошибки преобразования
Przeciążenia Mają Podobny Błąd Konwersji
I Sovraccarichi Hanno Un Errore Di Conversione Simile
과부하에 유사한 전환 오류가 있음
Overbelastingen Hebben Een Vergelijkbare Conversiefout
As Sobrecargas Têm Um Erro De Conversão Semelhante
Les Surcharges Ont Une Erreur De Conversions Similaires
Överbelastningar Har Liknande Konverteringsfel