Компилятору нужен инстанс шаблона - он берёт шаблон и генерирует код, если только может. Если нет - не генерирует, а делает ссылку
Смотри, компилятор твои cpp-ки раздельно компилирует. Когда он смотрит на array.cpp - он не делает ничего (потому что сиспользований getSize он не видит, а заранее инстанциировать его для всех типов очевидно невозможно) Когда он смотрит на main.cpp - он видит использование getSize, но не видит тела. Поэтому он говорит что-то типа "ну значит откуда-то из другой единицы трансляции придет инстанс шаблона, сошлюсь на него"
Ага, вот оно что) Спасибо - буду знать теперь)
Обсуждают сегодня