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

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

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

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

28.07.2014, 11:31. Просмотров 475. Ответов 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 файла код работал.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.07.2014, 11:31
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Неопределенная ссылка при многофайловой реализации шаблона (C++):

неопределенная ссылка - C++
Некомпилируется проект. Не могу понять где ошибка. prata-10-2-head.h #ifndef PRATA-10-2-HEAD_H_INCLUDED #define...

Неопределенная ссылка на `WinMain @ 16 ' - C++
учусь программировать в wxdev C++ по книге Шилдта. сделал все как написано а компилятор ругается не понятно на что. вот сам код. //...

Неопределенная ссылка на деструктор - C++
Здравствуйте! Какое-то время пользовался еклипсом, но пришлось от него отказаться в пользу утилит cmake и make. Во время линковки ...

Ошибка компиляции при реализации класса-шаблона - C++
Не могу понять почему компилятор ругается. Помогите разобраться. #include &lt;iostream&gt; using namespace std; template...

Ошибка "неопределенная ссылка" при работе с std::thread - C++
При попытке сделать что-либо с std::thread, выдает ошибку компиляции, &quot;неопределенная ссылка &quot; . К примеру: #include...

Вынос реализации метода шаблона класса в другой файл - C++
Здравствуйте! Допустим, есть класс: // class.hpp #ifndef CLASS_HPP_ #define CLASS_HPP_ class testClass{ public:

2
Ilot
Модератор
Эксперт С++
1823 / 1181 / 232
Регистрация: 16.05.2013
Сообщений: 3,118
Записей в блоге: 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"
1
Skrip
0 / 0 / 0
Регистрация: 23.07.2014
Сообщений: 7
28.07.2014, 12:02  [ТС] #3
Спасибо
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.07.2014, 12:02
Привет! Вот еще темы с ответами:

Ссылка как параметр шаблона. Что это значит? - C++
Увидел в данной теме http://www.cyberforum.ru/cpp-beginners/thread1900008.html что шаблонный тип можно указать как ссылку. Судя по тесту...

Многофайловой проект и STL - C++
Надо написать программу, в которой будут использоваться контейнеры STL(пока написал список). И для каждого контейнера будет свой файл в...

Посоветуйте с многофайловой разработкой программ - C++
Посоветуйте с программой. Экзамен завтра. 1) Описать аналоги библиотечных функций для работы со строками strlen(), strcat(), ...

Исправление ошибок в многофайловой программе - C++
Помогите исправить ошибки в интересной программе по виртуальной работе лифтов. В программе имеется консольная графика. Программа в книге...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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