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

Неопределенная ссылка при многофайловой реализации шаблона - C++

Восстановить пароль Регистрация
 
Skrip
0 / 0 / 0
Регистрация: 23.07.2014
Сообщений: 7
28.07.2014, 11:31     Неопределенная ссылка при многофайловой реализации шаблона #1
Здравствуйте уважаемые форумчане.
И снова я что то делаю не так.
Есть 3 файла main.cpp - сама программа, Larray.h - объявление класса, Larray.cpp - собственно сам класс.

Larray.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#ifndef LARRAY_H_
#define LARRAY_H_
 
#include <iostream>
#include <cstdlib>
using namespace std;
//// в объявлении функции присутствуют inline инструкции
 
template <class X>
class Larray                            
    {
            ..........
        public:
            ..........
            Larray(int size, int fl=0); //// объявление функции конструктора
    };
 
 
#endif /* LARRAY_H_ */
Larray.cpp
C++
1
2
3
4
5
6
7
8
9
10
#include <iostream>
#include <cstdlib>
#include "Larray.h"
using namespace std;
 
 
template <class X> Larray<X>::Larray(int size, int fl)              
    {
            ...............              //// тело функции конструктора
        }
main.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
#include <cstdlib>
#include "Larray.h"
using namespace std;
 
 
int main()
    {
        Larray<int> c1(100,0); /// на эту строку дебагер ругается
        return 0;
    }
дебагер ругается что не может найти Larray<int>::Larray(int, int)
собсно: undefined reference to `Larray<int>::Larray(int, int)'
Покопал форумы в чем моя ошибка так и не понял. помогите Зарание спасибо.

Да собственно до разбиения на 3 файла код работал.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.07.2014, 11:31     Неопределенная ссылка при многофайловой реализации шаблона
Посмотрите здесь:

Разработка программ из многофайловой структурой C++
Ошибки при реализации C++
Отделение интерфейса от реализации класса: компиляция кода реализации C++
C++ Посоветуйте с многофайловой разработкой программ
C++ Неопределенная ссылка на `WinMain @ 16 '
Многофайловой проект и STL C++
C++ Вынос реализации метода шаблона класса в другой файл
C++ неопределенная ссылка

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ilot
Модератор
Эксперт С++
1765 / 1140 / 221
Регистрация: 16.05.2013
Сообщений: 3,017
Записей в блоге: 5
Завершенные тесты: 1
28.07.2014, 11:34     Неопределенная ссылка при многофайловой реализации шаблона #2
Нельзя отделять объявление и определение для шаблонов. Подправьте:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#ifndef LARRAY_H_
#define LARRAY_H_
 
#include <iostream>
#include <cstdlib>
using namespace std;
//// в объявлении функции присутствуют inline инструкции
 
template <class X>
class Larray                            
    {
            ..........
        public:
            ..........
            Larray(int size, int fl=0); //// объявление функции конструктора
    };
#include "Larray.cpp" 
 
#endif /* LARRAY_H_ */
А из Larray.cpp выбросьте #include "Larray.h"
Skrip
0 / 0 / 0
Регистрация: 23.07.2014
Сообщений: 7
28.07.2014, 12:02  [ТС]     Неопределенная ссылка при многофайловой реализации шаблона #3
Спасибо
Yandex
Объявления
28.07.2014, 12:02     Неопределенная ссылка при многофайловой реализации шаблона
Ответ Создать тему
Опции темы

Текущее время: 12:01. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru