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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Skrip
0 / 0 / 0
Регистрация: 23.07.2014
Сообщений: 7
#1

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

28.07.2014, 11:31. Просмотров 439. Ответов 2
Метки нет (Все метки)

Здравствуйте уважаемые форумчане.
И снова я что то делаю не так.
Есть 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++ Неопределенная ссылка на `WinMain @ 16 '
C++ Неопределенная ссылка на деструктор
Ошибка компиляции при реализации класса-шаблона C++
C++ Вынос реализации метода шаблона класса в другой файл
Ссылка как параметр шаблона. Что это значит? C++
Многофайловой проект и STL C++
C++ Посоветуйте с многофайловой разработкой программ
Разработка программ из многофайловой структурой C++
Исправление ошибок в многофайловой программе C++
Отделение интерфейса от реализации класса: компиляция кода реализации C++
Ошибки при реализации C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ilot
Модератор
Эксперт С++
1807 / 1164 / 226
Регистрация: 16.05.2013
Сообщений: 3,060
Записей в блоге: 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
Спасибо
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru