385 / 229 / 12
Регистрация: 06.07.2011
Сообщений: 512
|
||||||||||||||||
1 | ||||||||||||||||
Конструктор шаблона класса06.07.2011, 18:16. Показов 15331. Ответов 6
Метки нет (Все метки)
Добрый день. Столкнулся с проблемой:
имеется код
[BCC32 Error] smthing.h(24): E2316 'smthing<l>::smthing()' is not a member of 'smthing<l>' Весь код в одном h-файле. Среда Embarcadero Rad Studio XE. и вдогонку второй вопрос. в Embarcadero Rad Studio XE строки типа:
[BCC32 Error] file2.h(2): E2451 Undefined symbol 'link_element' Так как же правильно пользоваться typedef'ом, имея шаблонный класс? Заранее спасибо за ответы.
0
|
06.07.2011, 18:16 | |
Ответы с готовыми решениями:
6
Конструктор-копирование шаблона класса Конструктор класса не видит конструктор по умолчанию другого класса Определение метода-шаблона за пределами шаблона класса Конструктор класса, конструктор копирования запускается не тот который нужен |
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
06.07.2011, 18:22 | 2 |
Paporotnik, Шаблонные typedef-ы насколько я помню нереальны. Можно typedef только для инстанцированного.
До С++0x по крайней мере. Но могу и ошибаться.
1
|
71 / 76 / 9
Регистрация: 30.06.2011
Сообщений: 176
|
||||||
06.07.2011, 18:52 | 3 | |||||
Можно внутри структуры этот typedef определить:
0
|
385 / 229 / 12
Регистрация: 06.07.2011
Сообщений: 512
|
|
06.07.2011, 20:58 [ТС] | 4 |
ForEveR, спасибо, похоже не правду. придется прописывать все целиком.
An1ka, предложенный вами вариант делает новый идентификатор доступным только внутри определения структуры. по крайней мере все объявления с ним вне её выдают ошибку "не удается разрешить идентификатор". Проблема с конструктором пропала, как только воспользовался NetBeans'ом вместо Rad Studio.
0
|
5055 / 3115 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
||||||
06.07.2011, 21:16 | 5 | |||||
Paporotnik, странно... У меня, например, такой код нормально отрабатывает:
0
|
71 / 76 / 9
Регистрация: 30.06.2011
Сообщений: 176
|
|||||||||||
06.07.2011, 21:39 | 6 | ||||||||||
Ну правильно. Мы ведь не можем создать идентификатор неопределенного типа. Шаблон - это только заготовка. Для создания реальных объектов и использования вне шаблонной структуры нужно указывать тип:
0
|
Делаю внезапно и красиво
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
|
|
07.07.2011, 09:14 | 7 |
0
|
07.07.2011, 09:14 | |
07.07.2011, 09:14 | |
Помогаю со студенческими работами здесь
7
Конструктор производного класса требует конструктор предка Явное создание экземпляра класса и явная специализация шаблона класса Конструктор внутри класса, поля которого являются членами другого класса Вызвать конструктор производного класса без конструктора базового класса Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |