![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
mezmay |
![]()
Сообщение
#1
|
![]() Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 272 Регистрация: 13.7.2009 Из: Ростов-на-Дону Пользователь №: 904 Спасибо сказали: 16 раз(а) Репутация: ![]() ![]() ![]() |
Есть 2 шаблона классов. Как сделать так чтобы они оба содержали указатели друг на друга и работали с этими указателями? В случае когда каждый шаблон полностью описан в заголовочном файла это сделать я так понял невозможно
|
|
|
![]() |
Iron Bug |
![]()
Сообщение
#2
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 1611 Регистрация: 6.2.2009 Из: Yekaterinburg Пользователь №: 533 Спасибо сказали: 219 раз(а) Репутация: ![]() ![]() ![]() |
получается, что у компилятора не будет информации, на какой именно класс указывает указатель. Как же он будет раскрывать разыменование? в общем случае, на уровне темплейтов такого контроля нет. когда собирается готовый проект, тогда компилятор по конкретному случаю уже смотрит, что и как. сам по себе темплейт такой встроенной проверки не содержит. однако, есть техника SFINAE. можно указывать требуемые свойства класса. но не все компиляторы это поддерживают, насколько я знаю. про SFINAE много написано (например, тут можно посмотреть примеры: http://stackoverflow.com/questions/257288/...ions-existence). ещё есть специализация темплейтов (ref) - когда для каждого параметра можно указать отдельное решение (например, можно почитать здесь: http://msdn.microsoft.com/en-us/magazine/cc163754.aspx). кроме того, можно использовать страндартную проверку RTTI. Сообщение отредактировал Iron Bug - 20.7.2011, 7:59 |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 30.6.2025, 12:58 |