Fehler, Irrtümer, Fragen - Seite 1639
![MQL5 - Sprache von Handelsstrategien, eingebaut ins Kundenterminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Wer löst nun das Problem, wenn eine Template-Methode in einer Template-Klasse aus irgendeinem Grund vom Compiler nicht gefunden wird und ein Fehler auftritt?
no one of overloads can be applied to the function call
?
C-Compiler schreiben in solchen Fällen speziell, welche Typen ersetzt wurden und welche Funktionen mit welchem Prototyp nicht gefunden werden, so dass es mehr oder weniger klar ist, was das Problem ist, aber hier - keine Besonderheiten.
Wir haben dies absichtlich so gemacht, da es kein Problem mit der direkten Vererbung gibt.
Ich würde gerne die genaue Regel sehen: Wann habe ich das Recht, eine virtuelle Funktion mit einem anderen Typ von Rückgabewert zu überschreiben?
Oder ist es eine Überlastung?
Ich würde gerne die genaue Regel sehen: Wann habe ich das Recht, eine virtuelle Funktion mit einem anderen Typ von Rückgabewert zu überschreiben?
Ich danke Ihnen. Das macht alles Sinn.
...wenn der Rückgabetyp einer überschriebenen Funktion vererbt wird ... von dem Typ, der von dem überschriebenen zurückgegeben wird.
Und wenn es andersherum ist?
Und wenn es andersherum ist?
Sie haben einen Fehler in Ihrem Beispiel - keine Vererbung von D von C
Ja, mein Fehler, tut mir leid.
Ein weiteres kontroverses Beispiel:
Ein weiteres kontroverses Beispiel:
Trotz des Fehlers (weil keine ausführbare Datei erzeugt wird) überschreibt die Funktion B::f die Funktion A::f, so dass es keinen Überschreibungsfehler für C::f gibt.
Ich verstehe die Idee nicht ganz, aber es ist fast dasselbe
In dem einen Fall liegt ein Fehler vor, in dem anderen nicht. Und ich habe einfach die Zeilen vertauscht