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

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

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

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

02.06.2012, 12:38. Просмотров 1386. Ответов 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++ Шаблоны классов. Ошибка параметра по умолчанию
Наследование классов, ошибки при компиляции C++
C++ Шаблоны классов. Ошибка `unable to match function definition to an existing declaration`
Шаблоны классов C++
C++ Шаблоны классов
Шаблоны классов C++
C++ шаблоны классов: непонятная ошибка в одном из методов класса
Шаблоны странная ошибка во время компиляции C++
Шаблоны. Ошибка компиляции: "Не удается сопоставить определение функции существующему объявлению" C++
C++ Синтаксические ошибки при компиляции классов
Шаблоны классов C++
C++ Странная ошибка при компиляции очень очень большой проги ,,boomerang,,

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
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
но я не уверен, что нужна именно эта опция
нужна то вроде эта опция, но ее передавать в прагму нельзя =(

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

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