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

Шаблон класса complex. Ошибка undefined reference to `complex<double>::SetRe(double)' - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Перехват значений параметров шаблона http://www.cyberforum.ru/cpp-beginners/thread932253.html
Вопрос, собственно, в развитие этой темы - http://www.cyberforum.ru/cpp-beginners/thread930128.html Есть вот такой код: namespace spec { template <int... Idx> struct index { }; template <int N, int... Idx> struct sequence : sequence<N - 1, N - 1, Idx...> { };
C++ OpenGL для новичка Всем привет. Никак не могу найти книгу по OpenGL и C++, хотя нет, вру, находил. Но они так сказать далеко не первой свежести. Я хотел бы написать змейку (в консоле с графикой), и вот думаю использовать GL. Встречал так же уроки и видеоуроки, но мне хотелось бы книгу. Что подскажете по этотому поводу? Купить старую книгу? Учиться по урокам? Или вообще использовать другую библиотеку? http://www.cyberforum.ru/cpp-beginners/thread932235.html
C++ Покер. Комбинация Стрит-флеш
Написал функцию проверки на образование комбинации стрит-флеш....помидорами не закидывать писал не очень вдумчиво но здесь какие то ошибки при использовании алгоритмов STL и моей структуры(я так думаю) мб и сам алгоритм не правильный...кому не в западло разобраться в моем говнокоде подскажите)):) struct card { int first; //величина карты int second; //её масть ...
Шаблоны STL C++
Здраствуйте. У меня задача такая: робота со стандарными шаблонами. Мне нужно заполнить контейнер пользовательским типом даных, тоесть класом. У меня написан клас (по возможности проверть перегрузку фкнкции) но я никак не могу создать массив vector<Student> VStudent(4); не понимаю почему. пример в книге точно такой же, и все работает. не могу проверить размер контейнера c помощью VStuden.size()...
C++ OpenGL, работа с освещением http://www.cyberforum.ru/cpp-beginners/thread932221.html
Здравствуйте. Пробую себя в игростроении. Нарисовал трехмерный домик, физику сделал - можно бегать по поверхностям, прыгать, не проходить сквозь стены - все вроде бы работает. И тут встал вопрос об освещении... Использую уроки от NeHe, там про освщение написано, сделал как говорилось. Заработало. Но заметил несколько странностей(с заданием параметров освещения немного разобрался): 1) Освещение...
C++ Вывод символа из таблицы ASCII Всем добрый вечер! Небольшой ступор Пытаюсь в консоли вывести символ - 156 Это символ фунта (денежная единица). #include <iostream> .... cout << '\x9C' << endl; .... подробнее

Показать сообщение отдельно
MAnton
 Аватар для MAnton
23 / 23 / 1
Регистрация: 21.04.2011
Сообщений: 139
01.08.2013, 22:19     Шаблон класса complex. Ошибка undefined reference to `complex<double>::SetRe(double)'
Есть такой файл complex.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#ifndef COMPLEX_H
#define COMPLEX_H
template<class Type> class complex{
public:
  Type Re;
  Type Im;
 
  complex(Type re = 0, Type im = 0):Re(re),Im(im){}
  complex(const complex<Type>&);
  Type GetRe();
  void SetRe(Type);
  Type GetIm();
  void SetIm(Type);
  void print();
  
};
#endif //COMPLEX_H
и файл complex.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include "complex.h"
#include <iostream>
using namespace std;
template<class Type> complex<Type>::complex(const complex<Type> &comp){
  Re = comp.Re;
  Im = comp.Im;
}
template<class Type> Type complex<Type>::GetRe(){
  return Re;
}
template<class Type> void complex<Type>::SetRe(Type re){
    Re = re;
}
template<class Type> Type complex<Type>::GetIm(){
  return Im;
}
template<class Type> void complex<Type>::SetIm(Type im){
  Im = im;
}
template<class Type> void complex<Type>::print(){
  if(Im>=0){
    cout<<Re<<"+"<<Im<<"i";
  }
  else
    cout<<Re<<Im<<"i";
}
При компиляции возникает ошибка:
g++ complex.o main.o -o prog -pipe
main.o: In function `main':
main.cpp:(.text+0x83): undefined reference to `complex<double>::SetRe(double)'

Я так понимаю, что компилятор не может найти определение функции SetRe() это может быть из-за того что я неправильно написал определение в complex.cpp но ошибки я не вижу. Подскажите в чем проблема?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 17:59. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru