| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Для новичков > не работает программа |
| Автор: Annuta 1.7.2010, 12:47 | ||||||||
Написала простенький шаблонный класс
пытаюсь использовать так:
каманда make собирает исполняемый файл без ошибок, но при попытке запустить его я получаю такую ошибку
не понимаю, что не так... Помогите плиз разобраться ... Ubuntu 10.04 gcc version 4.4.3 |
| Автор: dengalf 1.7.2010, 13:01 | ||
если не ошибаюсь
|
| Автор: SenkraD 1.7.2010, 13:04 |
| Annuta, я так понимаю, что у вас для класса есть и хедер и срр-файл? Если да, то это не верно!!! - компилятор должен видеть реализацию шаблона везде - перенесите его реализацию в хедер под обьявление или напишите inplace реализацию Конструктор у вас, кстати, неверный - там квадратные скобочки для new нужны |
| Автор: Annuta 1.7.2010, 13:04 |
| dengalf нет ... у меня так ничего не работает. T - typename - так вроде нельзя писать, как ты предлагаешь... SenkraD Спасибо! Ща попробую! |
| Автор: SenkraD 1.7.2010, 13:06 |
| dengalf, не готите пожалуйста! Если шаблону и можно засунуть переменную, то она должна быть константой времени компиляции или иметь внешнее связывание |
| Автор: dengalf 1.7.2010, 13:06 |
| Ага, сорри, недоглядел |
| Автор: Annuta 1.7.2010, 13:07 |
| SenkraD, СПАСИБО! Супер! Всё работает! У меня только такой вопрос, шаблонные классы в принципе всегда так пишутся без cpp файла ? Всё пишут в хедаре ? И ещё, что такое inplace реалзиция ? |
| Автор: SenkraD 1.7.2010, 13:12 |
| Annuta, ага. Рекомендую вам http://www.josuttis.com/tmplbook/ книгу, там многое обьяснят и укажут альтернтивы |
| Автор: Annuta 1.7.2010, 13:16 |
| SenkraD, Спасибо! Вопрос решён |