[help] function template instantiation

buka

Какие проблемы с субжем для

template<typename T> void process(vector<T> &original, vector<T> &processed)


?

ppplva

Может такие:
template<typename T> void process(std::vector<T> &original, std::vector<T> &processed)
?

buka

У меня линковщик ругается на отсутствие
void process(vector<int> &original, vector<int> &processed)

Dasar

Как выглядит код, который дергает шаблон?
В каком файле у тебя шаблон объявлен?
Из какого файла шаблон дергаешь?

Dasar

Компилятор какой?

buka

в другом модуле с подключением обьявы этой функции просто вызываю:
vector<int> a, b;
process(a, b);

Dasar

Что такое в данном случае "с подключением обьявы этой функции"?

buka

Как обычно, тело функции в отдельном .cpp, а в одноименном .h лежит класс с этой шаблонной функцией-членом.
В основном .cpp из main вызывается она-многострадальная для int...

buka

P.S.
компилятор из VS.NET

Dasar

правильно ли я тебя понял, что тело шаблона у тебя лежит в cpp-файле?
Так нельзя делать, тело шаблона должно лежать в h-нике и подключатся во все модули, где используется шаблон.

serega435

Как обычно, тело функции в отдельном .cpp, а в одноименном .h лежит класс с этой шаблонной функцией-членом.

а можно тут поподробнее?
кстати, process<int>(a,b) попробуй
хотя разницы никакой
может я и не прав

buka

Ну естественно!
Простите меня, товарищи, за детский вопрос!
Просто долго за прогой сидел (дольше суток) - вот и заколбасило...
Оставить комментарий
Имя или ник:
Комментарий: