Open cagix opened 3 months ago
Weil es mir unbewusst passiert ist: Da man void fluppi(X ... args)
auch mit leeren Parametern aufrufen kann (fluppi()
), kann man sich mit dem Überladen von Funktionen auch ein SafeVarargs-Konstrukt bauen.
void fluppi();
void fluppi(X ... args);
Wenn man drüber nachdenkt, ist es logisch, ich hatte es aber nicht unbedingt auf dem Schirm.
Hier ist es mir passiert:
@AMatutat Danke für den Einwurf!
Hier sollten definitiv auch die Probleme mit VarArgs betrachtet werden: Grenzfälle wie oben, aber auch VarArgs mit Template-Parametern als Typ. Warum meckert der Compiler bzw. warum gibt es Situationen, wo man ein @SafeVarargs
einsetzen möchte (obwohl ich das am liebsten gar nicht erst einführen wollen würde).
schöne Erklärung: https://stackoverflow.com/a/14252221