0
Ich habe eine Vorlagenklasse S<T>
mit einer verschachtelten Vorlagenklasse S<T>::Q<M>
. Die innere Klasse enthält eine statische Instanz von sich selbst.So definieren Sie ein statisches Mitglied einer verschachtelten Vorlage (Vorlagenklasse innerhalb der Vorlagenklasse)
Wie kodiere ich die Definition von S<T>::Q<M>::q_
im folgenden Codebeispiel? (Die Linie markiert mit <---- error
)
#include <iostream>
struct A {};
struct B {};
template<typename T>
struct S {
template<typename M>
struct Q {
int x;
Q() : x(1) {}
static Q q_;
};
};
template<typename T, typename M>
typename S<T>::template Q<M> S<T>::Q<M>::q_; // <---- error
int main()
{
std::cout << S<A>::Q<B>::q_.x;
}