LINUX.ORG.RU

История изменений

Исправление alysnix, (текущая версия) :

Ведь в либе есть Stream s; т.е. должно было вызваться инстанцирование?

с какой стати будет инстанцирование??? компилятор видит только шаблон с заголовками, все что он может тут сделать - «инстанцировать»(то есть правильно типизировать) заголовок класса, и ему этого достаточно. тел то он не видит. а больше инстанцировать(то есть скомпилировать код методов с данными параметрами шаблона) некому.

Но при сборке конечной либы - линкер же должен быть увидеть что никто не содержит инстанциации Stream…

это хитрый вопрос. скорее всего линкеру тут наплевать. он думает, что когда либа будет ликоваться ее потребителем, там этот символ будет. например придет из другой либы.

Исходная версия alysnix, :

Ведь в либе есть Stream s; т.е. должно было вызваться инстанцирование?

с какой стати будет инстанцирование??? компилятор видит только шаблон с заголовками, все что он может тут сделать - инстанцировать заголовок класса, и ему этого достаточно. тел то он не видит. а больше инстанцировать некому.

Но при сборке конечной либы - линкер же должен быть увидеть что никто не содержит инстанциации Stream…

это хитрый вопрос. скорее всего линкеру тут наплевать. он думает, что когда либа будет ликоваться ее потребителем, там этот символ будет. например придет из другой либы.