Последнее, что я проверил, любой тип, хранящийся в стандартном контейнере (не знаю, почему вы ссылаетесь на STL, который похож, но отличается и в любом случае неоднозначный!) Должен быть завершен. Объявленный тип (forwand-) не завершен. Если вы хотите знать, проверьте стандартную версию, которую вы используете, или хотя бы упомяните это здесь.
Относительно встроенного объявления структуры в параметре шаблона, например, g++
говорит, что "типы не могут быть определены в аргументах шаблона", когда я пытаюсь это сделать. Я не могу дать вам убедительную причину, почему это не должно работать. В конце концов, все контейнеры предоставляют псевдоним element_type
и auto
из C ++ 11, что не должно быть проблемой в целом.