Я хочу создать внутренний шаблон шаблона, который будет зависеть от внешнего класса. У меня возникли проблемы, образующая его статические члены:Вложенные шаблоны и инициализация статического члена
template<typename T1, typename T2>
struct B {
template<typename T3>
struct C {
static T3 m_c;
};
static T1 * pT1;
};
template<typename T1, typename T2>
template<typename T3>
T3 B<T1,T2>::C<T3>::m_c;
template<typename T1, typename T2>
T1 * B<T1,T2>::pT1 = &B<T1,T2>::C<T2>::m_c;
Я получаю: a.cc:35: ошибка: ожидается, первичное выражение перед «>» лексем a.cc:35: ошибки: ':: m_c' не был объявлен
Как его определить? Спасибо.
Выглядит довольно нормально для меня. Какой компилятор вы используете? –
Код компилируется с использованием VC9, VC10 и [Comeau Online] (http://www.comeaucomputing.com/tryitout/). – sbi
Извините, код был заварен, когда я его разместил. Теперь есть правильный код. – John