Здравствуйте, Аноним, Вы писали:
А>Корявый вопрос А>Допустим есть некий .h файл в котором определен класс А
А>
А>template <typename T> class A
А>{
А>...
А> void fn(T value);
А>}
А>
А>Хотелось бы реализацию функции fn видеть в .cpp файле, но компилятор не признает тип Т. А>Как его надо описывать?
Зависит от компилера — позволяет ли он это. Есть такой волшебное слово export которое по идее должно это позволять, но в VS такое например не прокатывает. Так что придется оставить реализацию в ашнике, хотя вандевурд в "Щаблонах С++" приводит остроумный способ как разделить объявление и реализацию шаблонов
Пишем объявление
//A.htemplate<class T>
class A
{
void fn( T value );
}
//A.hpptemplate<class T>
void A<T>::fn(T value)
{
//реализация
}
И везде пользуем A.hpp.
Удачи тебе, браток!
Re: Как использовать тип из шаблона в другом файле?
Здравствуйте, Аноним, Вы писали:
А>Корявый вопрос А>Допустим есть некий .h файл в котором определен класс А
А>
А>template <typename T> class A
А>{
А>...
А> void fn(T value);
А>}
А>
А>Хотелось бы реализацию функции fn видеть в .cpp файле, но компилятор не признает тип Т. А>Как его надо описывать?
АГА!!!!! См. на сайте Q&A — Шаблоны и модули
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[2]: Как использовать тип из шаблона в другом файле?
А вопрос можно? Спасибо. А у Вас никогда не возникало желание запихнуть в файл реализации (cpp) определение макроса?
Re[2]: Как использовать тип из шаблона в другом файле?
От:
Аноним
Дата:
04.11.04 12:30
Оценка:
Здравствуйте, Анатолий Широков, Вы писали:
АШ>А вопрос можно? Спасибо. А у Вас никогда не возникало желание запихнуть в файл реализации (cpp) определение макроса?
Запихивал. А что это плохо?
Re[3]: Как использовать тип из шаблона в другом файле?
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, Анатолий Широков, Вы писали:
АШ>>А вопрос можно? Спасибо. А у Вас никогда не возникало желание запихнуть в файл реализации (cpp) определение макроса?
А>Запихивал. А что это плохо?
Ничем, а это определение Вы молги использовать в другой модуле (cpp)? Предвижу, что нет. А почему тогда от шаблонов Вы хотите тогоже?
Re[4]: Как использовать тип из шаблона в другом файле?
От:
Аноним
Дата:
04.11.04 18:41
Оценка:
Здравствуйте, Анатолий Широков, Вы писали:
АШ>Ничем, а это определение Вы молги использовать в другой модуле (cpp)? Предвижу, что нет. А почему тогда от шаблонов Вы хотите тогоже?
Потому, что это удобно. Хочется иметь отдельно объявление и отдельно реализацию. А то, что шаблоны сделали ввиде макросов, на мой взгляд не повод мешать все в кучу. Да собственно все и работает, спасибо старшим товарищим.
Re[5]: Как использовать тип из шаблона в другом файле?
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, Анатолий Широков, Вы писали:
АШ>>Ничем, а это определение Вы молги использовать в другой модуле (cpp)? Предвижу, что нет. А почему тогда от шаблонов Вы хотите тогоже?
А>Потому, что это удобно. Хочется иметь отдельно объявление и отдельно реализацию. А то, что шаблоны сделали ввиде макросов, на мой взгляд не повод мешать все в кучу. Да собственно все и работает, спасибо старшим товарищим.
А что работает? Как я понял вы хотели добится следующего: