template <typename... Args>
void bark(int = 0, Args&&... args) {}
int main() {
bark();
bark(1);
bark(1, 2);
}
Czy ten kod jest dobrze sformułowany zgodnie ze standardem C++?Czy argumenty zmienne po poprawnie skonfigurowanym parametrze domyślnym?
Proponowany duplikat nie zawiera tych samych wywołań funkcji.
Nie duplikat: http://stackoverflow.com/questions/29098835/can-parameter-pack-function-arguments-be-defaulted, nie zawiera wywołań tego samego formularza. – Puppy
Wygląda jak duplikat dla mnie. Nawet jeśli inwokacja nie jest identyczna, odpowiedź w tym pytaniu pokazuje dwie części normy, które mówią, że nie są one ważne nawet w tym przypadku. –
Kwestia poruszona w tym pytaniu została poprawiona w Clang, ale Clang wciąż odrzuca ten kod. – Puppy