Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
1 / 1 / 1
Регистрация: 31.03.2014
Сообщений: 62
1

Написать шаблонную функцию для универсальной отрисовки данных, содержащихся в объектах, засунутых в вектор

22.12.2015, 22:11. Просмотров 443. Ответов 3
Метки нет (Все метки)


Существует базовый класс и два класса наследника от него. Хочу сделать функцию для универсальной отрисовки данных содержащихся в объектах, засунутых в вектор. Делаю функцию с шаблоном, вроде правильно, но не работает. Вопросы собственно в чем ошибка в коде и возможно ли решить данную задачу другим способом без перегрузки и шаблонов?

C++
1
2
3
4
5
6
template<typename T>
void Txxx_MainForm::PrintParams(std::vector<T> const & temp, TStringGrid* StringGrid)
{
...
//  }
}
Ругается в таком виде
[ILINK32 Error] Error: Unresolved external 'void Txxx_MainForm::PrintParams<TargetCalculate>(std::vector<Targ etCalculate, std::allocator<TargetCalculate> >&, Grids::TStringGrid *)' referenced from D:\...

Спасибо.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.12.2015, 22:11
Ответы с готовыми решениями:

Написать шаблонную функцию для ввода значений
Есть класс, using std::cout; using std::cin; using std::cerr; using std::endl; ...

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

Написать собственную функцию для отрисовки Mesha
Хочу написать собственную функцию для Rendera Mesha,чтобы не использовать DrawSubset(), может тут...

Написать шаблонную функцию
Здравстсвуйте,нужно переделать функцию под шаблонную.Я вроде как сделал,но компилятор...

3
Эксперт С++
1663 / 1035 / 174
Регистрация: 27.09.2009
Сообщений: 1,945
22.12.2015, 22:20 2
Вероятно, реализация функции-шаблона вынесена в отдельный файл. Полный текст шаблонной функции должен быть доступен в том месте, где она вызывается (то есть, реализовывать эту функцию надо в том же заголовке, где она объявлена).

Решить другим способом можно. Какой способ будет наилучшим, без знания деталей сказать трудно.
1
:)
Эксперт С++
4765 / 3259 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
22.12.2015, 22:41 3
Цитата Сообщение от phtnr Посмотреть сообщение
Существует базовый класс и два класса наследника от него.
Скорее всего в этом случае нужно просто правильно реализовать набор виртуальных функций, а шаблоны вообще исключить. Но как уже было сказано Nick Alte без подробностей рекомендовать что-то конкретное не получится.
1
1 / 1 / 1
Регистрация: 31.03.2014
Сообщений: 62
22.12.2015, 23:12  [ТС] 4
Цитата Сообщение от Nick Alte Посмотреть сообщение
роятно, реализация функции-шаблона вынесена в отдельный файл. Полный текст шаблонной функции должен быть доступен в том месте, где она вызывается (то есть, реализовывать эту функцию надо в том же заголовке, где она объявлена).
Действительно в этом проблема(.

Цитата Сообщение от Tulosba Посмотреть сообщение
Скорее всего в этом случае нужно просто правильно реализовать набор виртуальных функций, а шаблоны вообще исключить.
В двух словах у меня есть класс отвечающий за интерфейс программы и отдельный класс с определенной логикой функционирования. При определенных условиях в методе класса с логикой вызывается интерфейсный метод получающий на вход ссылку на вектор с данными. Делать функции отрисовки в классе с данными как-то не правильно на мой взгляд. Как все это сделать грамотно то же не знаю.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.12.2015, 23:12

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Написать шаблонную функцию max(a, b)
Напишите родовую функцию max(a, b), где a и b будут произвольными типами данных, которые можно...

Как правильно написать шаблонную функцию?
Как правильно написать функцию template ? в функции main не работает #include &quot;stdafx.h&quot;...

Написать шаблонную функцию std::count
Добрый день, нужно написать шаблонную функцию, которая будет вести себя как std::count. Буду...

Написать шаблонную функцию, сортирующую стек
Как мне сделать чтобы я мог вводить значения любого типа? Писал что то типа: template&lt;typename...

Написать шаблонную функцию, меняющую местами значения двух переданных в нее параметров
Доброго всем дня! Ребят помогите написать функцию, меняющую местами значения двух переданных в нее...

Написать шаблонную функцию, принимающую три параметра и возвращающую их среднее арифметическое как float
Функция f6, которая принимает три аргумента определенного типа (int, double или/ char) и возвращает...


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

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

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