Warum hat Visual Studio 2013 Probleme mit dem Dekltyp dieses Klassenmitglieds?

#include <vector>

struct C
{
    std::vector<int> v;
    decltype(v.begin()) begin() { return v.begin(); }
    decltype(v.end()) end() { return v.end(); }
};

Clang ++ hat kein Problem, aber MSVC 2013 gibt den folgenden Fehler aus:

error C2228: left of '.begin' must have class/struct/union

Antworten auf die Frage(1)

Ihre Antwort auf die Frage