Vinatorul: У него память выделяется через malloc, а конструктор (даже implace) не вызывается. В его массиве мусор лежит и именно поэтому происходит SEGFAULT. Всё. LittleFatNinja: Еще раз совету пересесть за учебники.
kuk: Не особо, но всеж есть. Некоторые люди, сам видел, даже литературным русским языком владеют! А это - я искренне убежден - очень важный момент. :-)
Сказать могу так. Комплексные системы сборки проектов создаются прежде всего с расчетом на масштабную, параллельную разработку в большой команде (иногда даже распределенной между городами/странами на десятки офисов). В таких условиях без автодокументации, без быстрой навигации между файлами/библиотеками/проектами, без возможностей поиска использования кода в других местах, без быстрого автоматизированного рефакторинга и целой кучи самых разных ассистентов/джарвисов/дженкинсов работать становится очень сложно.
Слишком общий вопрос. Более того, в заголовке одно спрашивается, а в описании - уже совсем другое, с первым имеющее мало связи.
С настолько общими и дискуссионными вопросами тебе надо не на тостер, а на gamedev.ru.
Никаких проблем использовать следующий подход, в рамках приведенного кода, не вижу: "QueueList< listStruct< char* > > list".
Если код надо собирать gcc/clang, то пробелы между вложениями "<" и ">" крайне желательны. Иначе компилятор может воспринять запись ">>" в конце инстанцирования шаблона как символ побитового сдвига.
Иное дело если параметр шаблона "listStruct" используется в "QueueList". В общем, делай уточнения, сейчас вопрос на вопрос не тянет.
LittleFatNinja: Еще раз совету пересесть за учебники.