crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> template, linux, qt, Особенность использования шаблонов
fantom
  опции профиля:
сообщение 5.2.2009, 19:18
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 47
Регистрация: 29.1.2009
Пользователь №: 515

Спасибо сказали: 1 раз(а)




Репутация:   1  


Пишу простенький пример
test.h
template<typename T>
class Test{
public:
Test();
};


test.cpp

#include "test.h"
template <typename T>
Test<T>::Test()
{

}

main.cpp
int main(int argc, char *argv[]){
QApplication app(argc, argv);
    Test<int> test;
return app.exec();
}


Вываливается ошибка main.cpp:112: undefined reference to `Test<int>::Test()'
Причем если я убираю cpp файл, а описываю реализацию методов в h файле все нормально.
В чем дело?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
AD
  опции профиля:
сообщение 5.2.2009, 19:35
Сообщение #2


Профессионал
*****

Группа: Участник
Сообщений: 2003
Регистрация: 4.2.2008
Из: S-Petersburg
Пользователь №: 84

Спасибо сказали: 70 раз(а)




Репутация:   17  


Почитай литературу. Объяснять долго. Но суть в том, что должен быть *.inl, *.h, *.cpp файлы. К Qt отношения это не имеет. Это либо к общим вопросам C++, либо к компиляторам!
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 29.11.2024, 12:19