GCC 3.4: bald keine Default-Argumente mehr???



  • Hi 🙂

    ich less grad die Neuerungen des GCC 3.4 durch, und bin nicht sicher, ob ich folgenden Punkt verstehe:

    * Default arguments in function types have been deprecated and will be removed.

    heisst das etwa, dass in neueren Versionen ein

    void foo(bool bar = false)
    {
        //...
    }
    

    nicht mehr funktionieren wird? 😕

    Ich bin eigentlich sicher, dass ich den Punkt missverstanden hab, Argument-Defaults sind ja im Standard vorgesehen IIRC. Aber wie ist das dann zu verstehen?

    Und: stimmt es, dass vom 3.4er GCC compilierter Code langsamer laeuft als der 3.2er Code?



  • hast du den default parameter bei der deklaration oder bei der definition?
    er gehört nämlich zur deklaration.



  • Naja, da steht nicht functions, sondern function types. Also meinen sie vielleicht sowas:

    void (*fptr)(int x = 42);
    
    fptr();
    fptr(81);
    

    Default-Argumente in Funktionen können sie nicht entfernen, die werden ja vom Standard gefordert. (Bei denen in Funktionspointern bin ich mir ehrlich gesagt nich ganz sicher, ergo ist das alles reine Spekulation 🙂


Anmelden zum Antworten