Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

LNK2019 шаблон классов - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ проверить правильность кода http://www.cyberforum.ru/cpp-beginners/thread1631265.html
#include <iostream> #include <map> using namespace std; int main() { map <string,int> myMap = {{ "Beta", 2 }, ///явная инициализация map { "Alpha", 1 }, ...
C++ Реализовать обработку линейных списков в едином адресном пространстве с последовательным распределением памяти Здравствуйте, форумчане! Решаю задачку по с++ и не уверен, что понимаю до конца условие. Прошу помощи. Условие: Разработать и отладить программу, выполняющую обработку нескольких линейных... http://www.cyberforum.ru/cpp-beginners/thread1631241.html
C++ Вывод из вектора самого короткого и самого длинного string значения
Вывод из вектора самого короткого и самого длинного string значения Подскажите как таковое сделать, если кому не трудно сможете ли вы написать код основываясь на только знаниях из учебника Эндрю...
Парсер/счётчик строки на основе stack/deque C++
Дан фрагмент последовательности скобок, состоящей из символов (){}. Требуется определить, возможно ли продолжить фрагмент в обе стороны, получив корректную последовательность. Если возможно -...
C++ Загвоздка с реализацией метода простых итераций http://www.cyberforum.ru/cpp-beginners/thread1631175.html
Народ. Нашел тут реализацию метода простых итераций для решения уравнения. Проверил. Все отлично работает. Только не могу понять одного: зачем нужна переменная L ? Да, я понимаю, что на нее...
C++ Компиляция простейшего кода на C++ под GNU/Linux Проблема в компиляции простейшего кода на c++ под Linux: void hello(){ rintf("Hello!\n"); return 0; } Вот такая вот ошибка в терминале: подробнее

Показать сообщение отдельно
Abraziv__
-52 / 3 / 0
Регистрация: 05.02.2013
Сообщений: 368

LNK2019 шаблон классов - C++

04.01.2016, 12:41. Просмотров 241. Ответов 1
Метки (Все метки)

Доброго времени суток.

Пишу шаблон классов:

akima.h // файл объявления

#ifndef AKIMA_H
#define AKIMA_H

C++ (Qt)
1
2
3
4
5
6
7
template<class T>
class Akima
{
public:
    Akima(T *data, int size);
    ...
}
#endif // AKIMA_H

akima.cpp // файл определения

#include "akima.h"

C++ (Qt)
1
2
3
4
template<class T> Akima<T>::Akima(T *pdata, int size)
{
    .....
}


Использую объект класса так:

C++ (Qt)
1
Akima<float> spline(data,8);
Что в итоге ?
mainwindow.obj:-1: ошибка: LNK2019: ссылка на неразрешенный внешний символ "public: __thiscall Akima<float>::Akima<float>(float *,int)" (??0?$Akima@M@@QAE@PAMH@Z) в функции "public: __thiscall MainWindow::MainWindow(class QWidget *)" (??0MainWindow@@QAE@PAVQWidget@@@Z)

Пишу в QT Creator. Перед компиляцией qmake запускал.

Добавлено через 1 час 9 минут
Короче на просторах нашёл инфу, что шаблоны нужно объявлять и определять в одном файле или какая та муть с export. Но меня компилятор с export послал гулять, типа зарезервировано но не используется, запихал всё в хедер и собралось нормально. Но как делать правильно ?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru