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

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

Войти
Регистрация
Восстановить пароль
 
dlisovsky
Сообщений: n/a
#1

Ошибки в шаблоне - C++

04.10.2012, 10:44. Просмотров 285. Ответов 2
Метки нет (Все метки)

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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
//DataFileCollection.h
 
#pragma once
 
#include <iostream>
 
template<class Type>
class DataFileCollection
{
public:
    DataFileCollection(const char * fileName);
    ~DataFileCollection();
private:
    char * fileName;
    class xErrorFileName {};
};
 
//DataFileCollection.cpp
#include "DataFileCollection.h"
 
template<class Type> 
DataFileCollection<Type>::DataFileCollection(const char * fileName)
{
    int len = strlen(fileName);
    if (!len) throw xErrorFileName();
 
    this->fileName = new char [len + 1];
    strcpy(this->fileName, fileName);
}
 
template<class Type> 
DataFileCollection<Type>::~DataFileCollection()
{
    delete [] fileName;
    fileName = 0;
}
 
//main.cpp
#include "DataFileCollection.h"
 
int main()
{   
    DataFileCollection<int> cl(0);
    return 0;
}
Ошибка 1 error LNK2019: ссылка на неразрешенный внешний символ "public: __thiscall DataFileCollection<int>::~DataFileCollection<int>(void)" (??1?$DataFileCollection@H@@QAE@XZ) в функции _main
Ошибка 2 error LNK2019: ссылка на неразрешенный внешний символ "public: __thiscall DataFileCollection<int>:ataFileCollection<int>(char const *)" (??0?$DataFileCollection@H@@QAE@PBD@Z) в функции _main
Ошибка 3 error LNK1120: 2 неразрешенных внешних элементов

Добавлено через 13 минут
но когда реализацию шаблонного класса кидаю в "DataFileCollection.h" тогда всё ок??
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.10.2012, 10:44
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ошибки в шаблоне (C++):

Ошибка в шаблоне - C++
#include &lt;iostream&gt; using namespace std; template &lt;class u1, class u2&gt; void kl(u1 k, u2 f); template void kl &lt;double&gt;(double u,...

Ошибка в шаблоне - C++
Объект ob имеет шаблонный тип. Указатели pbeg_p\pbeg_t\pbeg_m имеют разные типы. Соответственно с помощю if вызывается обработка того или...

cделать в шаблоне - C++
Даны вещественные числа a,b,c,d,e,f.Переменноый S присвоить значение 1,если оба уравнения ах2 + bх + с = 0 и dx2 + ex + f = 0.для...

Перегрузка << в шаблоне - C++
Ругается когда перегружаю template &lt; class T &gt; ostream &amp;operator&lt;&lt;(ostream &amp;out, const ArrayList&lt;T&gt; &amp;d); Ошибки VS2010: ...

список на шаблоне - C++
я хочу сделать шаблонный список, но не так, чтобы при создании объекта списка List&lt;int&gt; mylist указывать тип элементов, а чтобы список...

итератор в классе-шаблоне - C++
template&lt;class T&gt; class m_vector: public vector&lt;T&gt; { public: T at(int i); m_vector(){} ~m_vector(){} }; template&lt;class T&gt;...

2
CheshireCat
Эксперт С++
2893 / 1242 / 78
Регистрация: 27.05.2008
Сообщений: 3,379
04.10.2012, 10:48 #2
Экспорт шаблонов MSVC++ не поддерживает. Все (объявление и реализация шаблона) должно быть в *.h файле.

Не по теме:


Этот вопрос обсуждается на форуме с завидной регулярностью - каждый месяц по новой теме, наверное..... Пора в FAQ ?

0
dlisovsky
Сообщений: n/a
04.10.2012, 10:51 #3
Спасибо
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.10.2012, 10:51
Привет! Вот еще темы с ответами:

перегрузка оператора в шаблоне - C++
Здравствуйте. Подскажите пожалуйста, как мне реализовать перегрузку оператора сравнения в следующем случае: template&lt;class L&gt;class...

Задача о строке и шаблоне - C++
вечер добрый. в задаче нужно определить, соответствует ли строка шаблону, все как обычно &quot;?&quot; - любой символ, &quot;*&quot; - любая последовательность...

Перегрузка оператора в шаблоне - C++
Добрый день, не могу сделать данную штуку. Есть у меня шаблон вектор(не из библиотеки), и не могу перегрузить для него операторы. Не...

Структура в шаблоне класса - C++
Есть у меня класс бинарного поискового дерева. В нем описана структура TreeNode элемента дерева. template &lt;typename T= int&gt; class...


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

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

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