C ++ - Vorlagen, Standardargument als Methode

8

Für diese Implementierung der Auswahl sort:

%Vor%

Wie sollte ich es ändern, so dass Compare comp std::less Methode wäre, wenn letzter Parameter wird für die Sortiermethode übersprungen?

Ich habe das Überladen der Funktion versucht, indem ich eine andere Methode eingeführt habe:

%Vor%

Aber es gab Fehler wie:

%Vor%     
Abhinav Gauniyal 03.02.2017, 14:25
quelle

2 Antworten

13

Da es c ++ 14 ist:

%Vor%

c ++ 11:

%Vor%

Erläuterung:

Wir müssen dem Compiler sowohl einen Standardtyp in der Template-Argumentliste als auch eine Standardfunktionsargumentliste anbieten.

Zur Erklärung von std :: less & lt; & gt; seit c ++ 14 siehe:

Ссылка

    
Richard Hodges 03.02.2017, 14:28
quelle
5

Du hattest Recht, aber du hast das typename Schlüsselwort vergessen. Überprüfen Sie dies:

%Vor%

Wahrscheinlich wollten Sie das Standard-Template-Argument, aber das funktioniert auch.

    
Peter K 03.02.2017 14:34
quelle