Rückgabetypabzug mit einer privaten Mitgliedsvariablen

Wie dies erklärt wurdeQ & A gesternbeklagen sich sowohl g ++ 4.8 als auch Clang 3.3 korrekt über den folgenden Code mit einem Fehler wie "'b_' wurde in diesem Bereich nicht deklariert"

#include <iostream>

class Test
{
public:
    Test(): b_(0) {}

    auto foo() const -> decltype(b_) // just leave out the -> decltype(b_) works with c++1y
    { 
        return b_;    
    }    
private:
    int b_;
};

int main() 
{
    Test t;
    std::cout << t.foo();
}

Bewegen derprivate Abschnitt oben in der Klassendefinition beseitigt den Fehler und gibt 0 aus.

Meine Frage ist,Wird dieser Fehler auch in C ++ 14 mit Rückgabetyp Abzug verschwinden, damit ich das weglassen kanndecltype und habe meineprivate Abschnitt am Ende der Klassendefinition?

HINWEIS: Esfunktioniert tatsächlich basierend auf der Antwort von @JesseGood.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage