|
3 / 3 / 0
Регистрация: 18.03.2010
Сообщений: 11
|
|||||||||||
Шаблоны, массивы..08.04.2010, 16:44. Показов 737. Ответов 6
Метки нет (Все метки)
Здравствуйте. Мне нужно написать функцию, исключающую заданную переменную из массива любого типа, используя шаблоны.
Проблема в следующем: При использовании массивов типа float и вводе ненатурального числа в качестве третьего параметра функции, алгоритм не работает. Исключения из массива этого числа не происходит. Если указать целый параметр - алгоритм работает. Ошибок компилятор не выдаёт. Вот полный код всей программы:
Как я понял: если функции скармливать третьим параметром нецелое число, то оно всегда будет double, даже если первым параметром идёт массив типа float. Погуглив я узнал что float 0.05 != double 0.05, от этого то алгоритм и не работал. Теперь вопрос поставлю яснее: Как привязать шаблон T к TT? Т.е. чтобы если первый параметр float, то и третий float. Добавлено через 2 минуты *перегрузку не использовать.
0
|
|||||||||||
| 08.04.2010, 16:44 | |
|
Ответы с готовыми решениями:
6
Шаблоны для функций, массивы и Args «Шаблоны шаблонов» vs «шаблоны с параметрами-шаблонами».
|
|
54 / 50 / 9
Регистрация: 16.05.2008
Сообщений: 162
|
||
| 08.04.2010, 17:05 | ||
|
h_inc,а почему бы тебе в твоем коде везде не использовать double, просто не понятна такая любовь к float.
1
|
||
|
3 / 3 / 0
Регистрация: 18.03.2010
Сообщений: 11
|
||||||
| 08.04.2010, 17:15 [ТС] | ||||||
|
Можно не использовать, а можно и использовать. Я учу C++ для себя и чем больше знаю - тем лучше.
Добавлено через 1 минуту А желать можно например это:
0
|
||||||
|
54 / 50 / 9
Регистрация: 16.05.2008
Сообщений: 162
|
||||||
| 08.04.2010, 18:17 | ||||||
|
Ну тогда попробуй вот так:
1
|
||||||
|
3 / 3 / 0
Регистрация: 18.03.2010
Сообщений: 11
|
|
| 08.04.2010, 19:27 [ТС] | |
|
Попробовал. Алгоритм хороший, взял на заметку (понравилось форматирование вывода через boolalpha - не знал об этом), но сделать зависимым TT от T он не поможет.
Добавлено через 29 минут Ну раз никто не знает, значит либо задача нерешаемая, либо слишком глубоко надо копать чтобы реализовать зависимость стандартными методами. Поступлю с float'ом как с char'ом.
0
|
|
|
54 / 50 / 9
Регистрация: 16.05.2008
Сообщений: 162
|
|||||||
| 09.04.2010, 10:23 | |||||||
1
|
|||||||
|
3 / 3 / 0
Регистрация: 18.03.2010
Сообщений: 11
|
||||||
| 09.04.2010, 16:06 [ТС] | ||||||
|
Не решение так как следующий код при компиляции выдаёт ошибку:
error C2664: 'void exclude(char *,int,char)' : cannot convert parameter 1 from 'float [7]' to 'char *' Похоже здесь дело не в шаблонах, а в самом языке конвертирующим вводимое программистом значение всегда в double. Если использовать конструкцию float(x) или переменную как посредник, то всё работает нормально. На практике последний способ используется в большинстве случаев, поэтому проблема для меня исчерпана. Спасибо.
0
|
||||||
| 09.04.2010, 16:06 | |
|
Помогаю со студенческими работами здесь
7
Помогите писать на С++ через шаблоны. Консуле я писал, но надо писать исползуя шаблоны Хранить шаблоны документов в базе и выводить данные в эти шаблоны Чем отличаются шаблоны HTML и шаблоны WordPress Даны массивы A(8), F(8),Q(8). Сформировать массивы С(8), каждый элемент которого вычисляется по формуле Упорядочить массивы по по убыванию, потом соединить массивы в один упорядоченный массив Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|