Как определить конструктор вложенного класса, если внешний класс является шаблоном?
Я попытался удалить параметр шаблона, и он работает. Но мне нужно это значение для того, что я делаю.
Я пытался с g ++ с и без --std = c ++ 11 (без разницы).
Я не хочу помещать свой код в заголовочный файл, поэтому я не пробовал таким образом
#include <cstddef>
template <size_t M_SIZE=20>
class Outer{
class Inner{
Inner();
};
};
//Outer::Inner::Inner() {}
int main(){
return 0;
}
Это происходит, когда вы раскомментируете эту строку
cl.cpp: 9: 1: ошибка: «Внешний» не является классом, пространством имен или перечислением
Внешний :: Внутренний :: Внутренний () {}
^
cl.cpp: 4: 7: примечание: здесь объявлено «Внешнее»
class Outer {
^
1 сгенерированная ошибка.
оболочка вернулась 1