Bitte ziehen Sie ein vereinfachtes Programm in Betracht:
Code: Select all
auto f() {
struct A { struct B; };
return A{};
}
using A = decltype( f() );
struct A::B {};
EDG sagt, dass dies nicht zulässig ist:
Fehler: Klasse „A::B“ kann im aktuellen Bereich nicht definiert werden
GCC stürzt mit internem Compilerfehler ab, aber beides Clang und MSVC akzeptieren das Programm problemlos. Online-Demo: https://gcc.godbolt.org/z/Ksjhc6vva
Welche Implementierung ist hier richtig?
Mobile version