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

Шаблон класса, передача аргументов

06.10.2015, 17:30. Просмотров 682. Ответов 1
Метки нет (Все метки)

Есть шаблон класса, аргументы для создания класса константные

C++ (Qt)
1
itk::Vector <float,ch >
шаблон писал не я, это готовый шаблон из библиотеки itk

ch - это константа

по этому шаблону создаётся класс изображений, float это тип значений яркости пикселей, ch - количество каналов изображения.

то есть чтоб создать класс vector мне нужно заранее знать количество каналов изображения

но я узнаю количество каналов только когда открываю какое либо изображение, то есть количество каналов у меня хранится в переменной, а чтоб создать класс, нужно в шаблон передать константу

и вот как же мне из этой переменной сделать константу ?

Добавлено через 54 минуты
C++ (Qt)
1
2
3
/home/user/segment_orfeo/mainwindow.cpp:172: error: 'ch' cannot appear in a constant-expression
     typedef itk :: Vector <float,ch>  VectorPixelType;
                                  ^
вот такая вот ошибка, если сделать
C++ (Qt)
1
 const int ch = 3;
Добавлено через 2 минуты
вот файл, в котором описан шаблон
http://www.itk.org/Doxygen46/h... ource.html
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.10.2015, 17:30
Ответы с готовыми решениями:

Шаблоны функций, Ошибка: для использования класса шаблон требуется список аргументов шаблон
Есть у меня 3 структуры Трамвай , Троллейбус , Автобус. Для автобуса определены функции (работают)...

Шаблон класса с любым количеством аргументов
В статье: https://en.cppreference.com/w/cpp/language/parameter_pack есть такой пример:...

Отсутствует список аргументов для шаблон класса std::vector
Есть функция: LoadFBX(std::vector* pOutVertexVector); на загрузку модели формата FBX в DX. На...

Неправильная передача аргументов конструктора класса
Есть несколько конструкторов: student(char* name, char* group, int course, int marks){...

1
6916 / 5981 / 2709
Регистрация: 14.04.2014
Сообщений: 25,504
06.10.2015, 17:35 2
Не получится так. Сколько вариантов этих каналов? Если немного, то сделай типы под каждый и пользуйся.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.10.2015, 17:35

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

Передача в шаблон класса с перегруженными операторами
У меня есть класс TProc: template&lt;class Type&gt; class TProc { private: Type Lop_Res; Type...

Исправить ошибку компиляции "для использования класса шаблон требуется список аргументов шаблона"
Решил создать класс List для задания двусвязного списка, и в самом начале компилятор начал ругаться...

"LinkedList": для использования класс шаблон требуется список аргументов шаблон
Что то не могу въехать в чем промах? LinkedList.h #pragma once #include &lt;iostream&gt; #include...

Шаблон родительского класса и шаблон класса потомка
Запутался, как правильно пронаследоваться от шаблона класса? #include &lt;iostream&gt; #include...


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

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

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