![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| GrayCardinal |
|
|||
|
Фигасе ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3039 Регистрация: 9.11.2003 Репутация: 2 Всего: 58 |
Как в template класса объявить функцию, принимающую любой другой тип (ну, навроде тоже temlate'а).
Страуструпа не читал, пока методом индукции
Соответственно правильно записать anyFunction в хэйдере и в коде... Заранее спасибо... Олег. ЗЫ Простите великодушно наСишника за такие вопросы |
|||
|
||||
| Sartorius |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1568 Регистрация: 18.7.2006 Где: Ivory tower Репутация: 8 Всего: 37 |
Если тип аргумента должен отличаться от T так и объяви еще один typename в template...
PS http://valera.asf.ru/cpp/book/c16.shtml - там все подробно написано Это сообщение отредактировал(а) Sartorius - 15.2.2007, 18:31 |
|||
|
||||
| Xenon |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1529 Регистрация: 12.4.2006 Репутация: 11 Всего: 50 |
? |
|||
|
||||
| Oleg_Ci |
|
|||
![]() Friend ![]() ![]() Профиль Группа: Участник Сообщений: 485 Регистрация: 28.5.2006 Где: Новосиб.обл. Репутация: 3 Всего: 30 |
Вчера такое замутил
|
|||
|
||||
| Xenon |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1529 Регистрация: 12.4.2006 Репутация: 11 Всего: 50 |
Отедльно в хедере и реализацие? Ну тогда не получится сделать функцию, которая принимает любой типа - тебе придется моделью явного воплощения определить какие-то конкретные типы - проще все в хедере сделать
|
|||
|
||||
| GrayCardinal |
|
|||
|
Фигасе ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3039 Регистрация: 9.11.2003 Репутация: 2 Всего: 58 |
Xenon,
Ага. А код ? Если не в хейдер, а вынести ? Извините, конечно... Доку почитаю... Только _не сейчас_ |
|||
|
||||
| Xenon |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1529 Регистрация: 12.4.2006 Репутация: 11 Всего: 50 |
GrayCardinal, Ну тогда придется либо явно воплощаться, либо использовать export, но это почти никем не поддерживается ... Поэтому рекомендуется объявлть и определять класс и его члены в одном модуле.
ЗЫ. Если вынести код в том же модуле, то все будет нормально. К тому же Oleg_Ci уже привел пример Это сообщение отредактировал(а) Xenon - 15.2.2007, 19:35 |
|||
|
||||
| nickless |
|
|||
![]() Гентозавр ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2976 Регистрация: 29.8.2005 Где: Germany Репутация: 19 Всего: 181 |
Можно еще 2 хедера использовать, один для объявления всего, а другой для реализации шаблонов, компилятору без разницы, а файлы поменьше будут
-------------------- ![]() Real men don't use backups, they post their stuff on a public ftp server and let the rest of the world make copies - Linus Torvalds |
|||
|
||||
| GrayCardinal |
|
|||
|
Фигасе ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3039 Регистрация: 9.11.2003 Репутация: 2 Всего: 58 |
Xenon,
Oleg_Ci, говоришь ? Ах, вот оно что ... угум (рука придерживающая веко отпадает, глазик закрывается... все спасибо, до завтра, парни |
|||
|
||||
| Xenon |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1529 Регистрация: 12.4.2006 Репутация: 11 Всего: 50 |
nickless, так это же будет разделенением на интерфейс и реализацию, а это 2 уже две единицы компиляции ?
|
|||
|
||||
| HappyLife |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 642 Регистрация: 17.5.2006 Репутация: 3 Всего: 8 |
Для люблю типа, можешь еще заюзать, функцию принимающую много параметров.
|
|||
|
||||
| nickless |
|
|||
![]() Гентозавр ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2976 Регистрация: 29.8.2005 Где: Germany Репутация: 19 Всего: 181 |
Xenon, нет, я имею ввиду типа этого:
Просто хедер на 2 части разделить, а то не люблю я хедеры на несколько сотен строк -------------------- ![]() Real men don't use backups, they post their stuff on a public ftp server and let the rest of the world make copies - Linus Torvalds |
|||
|
||||
| GrayCardinal |
|
|||
|
Фигасе ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3039 Регистрация: 9.11.2003 Репутация: 2 Всего: 58 |
Тоже вариант Добавлено @ 04:50 PS. уберите нафиг шапки ! а то реклама редхета какая-то :-( |
|||
|
||||
| V.A.KeRneL |
|
|||
![]() Vadim A. Kazantsev ![]() ![]() Профиль Группа: Участник Сообщений: 291 Регистрация: 3.12.2006 Где: Moscow, Russia Репутация: 1 Всего: 14 |
Угу, точняк! -------------------- «C'est un pense-creux d'ici. C'est le meilleur et le plus irascible homme du monde...» © Ф.М. Достоевский, «Бесы» ---/)/)---(\.../)---(\(\ --(':'=)---(=';'=)---(=':') (")(")..)-(").--.(")-(..(")(") |
|||
|
||||
| GrayCardinal |
|
|||
|
Фигасе ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3039 Регистрация: 9.11.2003 Репутация: 2 Всего: 58 |
V.A.KeRneL,
Во-во |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |