crossplatform.ru

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

 
Ответить в данную темуНачать новую тему
> шаблоны, Класс с шаблонами
vizir1989
  опции профиля:
сообщение 7.11.2012, 22:50
Сообщение #1


Студент
*

Группа: Новичок
Сообщений: 12
Регистрация: 14.5.2012
Пользователь №: 3377

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




Репутация:   0  


Доброй ночи!

У меня возник следующий вопрос.
Есть класс:
template<typename Type, int countRow, int countCol>
class MiniMaxCriterion
{
    public:
        MiniMaxCriterion(Type (&matrix)[countRow][countCol]);

        void CalculateResults();
        void GetResults(Type* result, int& size);

    private:
        Type* Matrix_;
        int CountRow_;
        int CountCol_;

        Type* Result_;
};


Вот его реализация:
#include "minimaxcriterion.h"

template<typename Type, int countRow, int countCol>
MiniMaxCriterion<Type, countRow, countCol>::MiniMaxCriterion(Type (&matrix)[countRow][countCol])
    : CountRow_(countRow)
    , CountCol_(countCol)
{
...
}

template<typename Type, int countRow, int countCol>
void MiniMaxCriterion<Type, countRow, countCol>::CalculateResults()
{
...
}

template<typename Type, int countRow, int countCol>
void MiniMaxCriterion<Type, countRow, countCol>::GetResults(Type *result, int& size)
{
...
}


Есть другой класс, который создает объект класса MiniMaxCriterion:
MainWidget::MainWidget(QWidget *parent) :
    QWidget(parent)
{
    double matrix[2][2] = {{1, 100},
                          {1.1, 1.1}};
    MiniMaxCriterion<double, 2, 2> mini(matrix);
}


При линковке получаю следующую ошибку:
C:\Project\TPR\mainwidget.cpp:-1: ошибка: undefined reference to `MiniMaxCriterion<double, 2, 2>::MiniMaxCriterion(double (&) [2][2])'

В чем проблема?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 7.11.2012, 23:16
Сообщение #2


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

Группа: Участник
Сообщений: 2939
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

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




Репутация:   34  


перенеси весь код шаблона в файл заголовка

Сообщение отредактировал Алексей1153 - 7.11.2012, 23:17
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Iron Bug
  опции профиля:
сообщение 8.11.2012, 7:33
Сообщение #3


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

Группа: Модератор
Сообщений: 1611
Регистрация: 6.2.2009
Из: Yekaterinburg
Пользователь №: 533

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




Репутация:   12  


так-то тема не относится к Qt и должна быть помещена в раздел вопросов по C++
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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




RSS Текстовая версия Сейчас: 29.3.2024, 15:45