clang ++ - Behandelt den Namen der Vorlagenklasse als Vorlage im Klassenbereich

Es scheint, dass clang ++ (ich habe es mit clang 3.2 versucht) den Namen einer Vorlagenklasse als instanziierte Klasse behandelt, nicht als Vorlage für Vorkommen innerhalb des Klassenbereichs. Zum Beispiel die folgenden Codes

template <template <class> class T>
class A {};

template <typename T>
class B {
    A<B> member;
   // ^---- clang++ treats B as an instantiated class
         // but I want it to be a template here
         // this code could compile in g++
};

int main()
{
    B<int> b;
    return 0;
}

Was soll ich tun, um das zu kompilieren?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage