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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.73
DammiTT
0 / 0 / 0
Регистрация: 10.12.2011
Сообщений: 3
#1

ошибка при компиляции проги, использущей шаблоны классов - C++

02.06.2012, 12:38. Просмотров 1403. Ответов 5
Метки нет (Все метки)

Возникла ошибка при компиляции проги, использующей шаблоны.
Ошибка - undefined symbol /*...*/ in module main.cpp
(линковщик не может найти реализацию функции класса)

Пусть есть 3 файла (temp.h, tenp.cpp, main.cpp), соответственно первые 2 файла - это объявление и реализация класса, использующего шаблоны,т.е. что-то типа
template <class C> Temp
{
// ...
}

Вообще по ходу надо помещать объявление и реализацию в один класс (при использовании шаблонов) - тогда все работает, но если разбить на 2 файла (объявление и реализация), то ни фига не работает =(
Версия компилятора borland c++ 3.1.

В help-е пишут что-то типа: надо использовтаь опцию компилятра -Jgx при компиляции, чтобы была возможность слинковать файл с реализацией класса, использующего шаблоны, но я че-то не догоняю, как это сделать.... Из среды никак, а как компилить из командной строки - не знаю =(

Вроде бы проблема стандартная, но че-то найти ее решения не могу =(

Может кто-нибудь знает ее решение ?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.06.2012, 12:38     ошибка при компиляции проги, использущей шаблоны классов
Посмотрите здесь:

Шаблоны странная ошибка во время компиляции - C++
Добрый день. Давно не работал с шаблонами... Вроде всё верно, но компилятор выдаёт ошибку: error: undefined reference to...

Шаблоны классов. Ошибка параметра по умолчанию - C++
Есть template &lt;class data_type&gt; class List; и typedef unsigned char point_dist; template &lt;class data_type = point_dist&gt; class...

Шаблоны классов: непонятная ошибка в одном из методов класса - C++
Задача создать шаблон двоичного дерева поиска. В методе удаления узла IntelliSense выдает ошибку: ссылается на if и пишет: &quot;требуется...

Шаблоны классов. Ошибка `unable to match function definition to an existing declaration` - C++
#pragma once template &lt;typename T = int&gt; class SingleBuffer { public: SingleBuffer(T fd): field(fd), state(true){} ...

Наследование классов, ошибки при компиляции - C++
У меня проблемы программы возникают при компиляции. Я читаю, что использование спецификатора protected позволяет видеть поля,...

Синтаксические ошибки при компиляции классов - C++
// DiscreteMath_Lab11.cpp: определяет точку входа для консольного приложения. // #include &quot;stdafx.h&quot; #include &quot;stdio.h&quot; #include...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
arist
0 / 0 / 0
Регистрация: 14.02.2011
Сообщений: 100
02.06.2012, 15:23     ошибка при компиляции проги, использущей шаблоны классов #2
чем не устраивает помещение реализации методов в объявлении класса?
DammiTT
0 / 0 / 0
Регистрация: 10.12.2011
Сообщений: 3
02.06.2012, 17:12  [ТС]     ошибка при компиляции проги, использущей шаблоны классов #3
Цитата Сообщение от arist
чем не устраивает помещение реализации методов в объявлении класса?
просто нужно отделить определение от реализации =(
John Paramol
Сообщений: n/a
03.06.2012, 11:07     ошибка при компиляции проги, использущей шаблоны классов #4
пишется следующим образом:
#pragma option -Jgx
но я не уверен, что нужна именно эта опция
DammiTT
0 / 0 / 0
Регистрация: 10.12.2011
Сообщений: 3
03.06.2012, 12:18  [ТС]     ошибка при компиляции проги, использущей шаблоны классов #5
Цитата Сообщение от John Paramol
пишется следующим образом:
#pragma option -Jgx
но я не уверен, что нужна именно эта опция
нужна то вроде эта опция, но ее передавать в прагму нельзя =(

Есть другие варианты ?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.06.2012, 11:12     ошибка при компиляции проги, использущей шаблоны классов
Еще ссылки по теме:

Шаблоны. Ошибка компиляции: "Не удается сопоставить определение функции существующему объявлению" - C++
vector.h #pragma once #ifndef _VECTOR_H #define _VECTOR_H #include &lt;exception&gt; template&lt;typename T&gt; class vector...

Шаблоны классов - C++
Помогите пожалуйста написать шаблон класса двумерный числовой массив(матрица) Методы: конструктор с параметрами, деструктор ...

Шаблоны классов - C++
Всем привет. Я только зарегистрировался и не имею опыта в созданиях темы на каких либо форумах. Поэтому я надеюсь вы небудете строги к...

Шаблоны классов - C++
Почему не правильно считает? #include using namespace std; template &lt;class T&gt; class Boxe { public: T ab; T bb;

Шаблоны классов - C++
Требуется создать шаблон некоторого целевого класса A. В каждом варианте уточ- няются требования к реализации(Queue list) — указанием на...

Шаблоны классов - C++
Всем привет!!! Подскажите пожалуйста в чем ошибка ? class PRIMA должен работать с типом int и float шаблон создал по этой...


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

Или воспользуйтесь поиском по форуму:
John Paramol
Сообщений: n/a
13.06.2012, 11:12     ошибка при компиляции проги, использущей шаблоны классов #6
Цитата Сообщение от DammiTT
но ее передавать в прагму нельзя =(
А что мешает?
Yandex
Объявления
13.06.2012, 11:12     ошибка при компиляции проги, использущей шаблоны классов
Ответ Создать тему
Опции темы

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