|
0 / 0 / 1
Регистрация: 02.12.2013
Сообщений: 37
|
||||||||||||||||
Возврат массива типа array из функции21.06.2020, 10:31. Показов 1367. Ответов 11
Метки нет (Все метки)
Создаю метод, компилятор пишет не соответствие списков аргументов.
Подскажите где в действительности ошибка.
Ошибка (активно)отсутствуют экземпляры шаблон функции "my_library::ArraysStaticStdLibrary::mat rices_mutltiplication", соответствующие списку аргументов Ошибка C2783 std::array<std::array<T,c3>,r3> my_library::ArraysStaticStdLibrary::matr ices_mutltiplication(std::array<std::arr ay<T,c1>,r1> &,std::array<std::array<T,c2>,r2> &): не удается составить аргумент шаблон для "r3" Ошибка C2783 std::array<std::array<T,c3>,r3> my_library::ArraysStaticStdLibrary::matr ices_mutltiplication(std::array<std::arr ay<T,c1>,r1> &,std::array<std::array<T,c2>,r2> &): не удается составить аргумент шаблон для "c3" Ошибка C2672 "my_library::ArraysStaticStdLibrary::mat rices_mutltiplication": не найдена соответствующая перегруженная функция
0
|
||||||||||||||||
| 21.06.2020, 10:31 | |
|
Ответы с готовыми решениями:
11
Возврат символа из функции типа double
Возврат объекта шаблонного типа от типа Type из специализации шаблона метода от того же типа |
|
Вездепух
13184 / 6820 / 1821
Регистрация: 18.10.2014
Сообщений: 17,263
|
||
| 21.06.2020, 10:42 | ||
r3 (и c3). Каким по-вашему образом компилятор сможет определить, чему должно быть равно r3 в вашем вызове?Возникает вопрос: а почему у вас вообще r3 и c3 являются свободными параметрами шаблона, в том время как очевидно, что эти значения однозначно определяются через r1, c1, r2 и с2? Более того, значения c1 и r2 тоже не "свободны", а жестко связаны между собой. Зачем было делать их свободными, а затем заниматься сравнениями и разбрасыванием исключений, если можно было сразу потребовать их равенства на уровне объявления шаблона?
0
|
||
|
0 / 0 / 1
Регистрация: 02.12.2013
Сообщений: 37
|
|||
| 21.06.2020, 10:56 [ТС] | |||
|
Но при задании возвращаемого типа функции как двумерного массива array нужно прописывать размер этого массива. Как это сделать без использования r3 и c3? Это вообще возможно? Как создать функцию с возвращаемым типом array?
0
|
|||
|
6352 / 3523 / 1428
Регистрация: 07.02.2019
Сообщений: 8,995
|
||||||
| 21.06.2020, 11:45 | ||||||
|
brddrdtt, вам говорят о чем то вроде этого
1
|
||||||
|
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
|
|
| 21.06.2020, 11:52 | |
|
0
|
|
|
Вездепух
13184 / 6820 / 1821
Регистрация: 18.10.2014
Сообщений: 17,263
|
||
| 21.06.2020, 11:57 | ||
std::array.
0
|
||
|
|
|
| 21.06.2020, 12:08 | |
|
Тут стоит понимать что фактически с такой матрицей не многое можно сделать так как размеры задаются на этапе компиляции а это ограничивает применение. Кроме того избыточность как бы зачем std::array если можем обойтись обычным массивом нет никакого преимущества особенное если хочется перегрузить операторы.
В книге Страуструпа как я помню был пример с valarray он почему то писал что с ним операции выполняются быстрее.
0
|
|
|
Вездепух
13184 / 6820 / 1821
Регистрация: 18.10.2014
Сообщений: 17,263
|
|||
| 21.06.2020, 12:14 | |||
std::array.
1
|
|||
|
|
|||
| 21.06.2020, 12:22 | |||
|
0
|
|||
|
0 / 0 / 1
Регистрация: 02.12.2013
Сообщений: 37
|
|||||||
| 24.06.2020, 20:29 [ТС] | |||||||
в таком варианте всё работает. спасибо Но. Как сделать так, чтобы передавать в возвращаемый тип свой размер массива - именно r3 и c3? В этой задаче компилятор смог осознать, что размерность будет m и n. даже без объявления matrix. но если будет другая задача, где потребуется возвращать массив своей размерности?
0
|
|||||||
|
Вездепух
13184 / 6820 / 1821
Регистрация: 18.10.2014
Сообщений: 17,263
|
||||||||||||||||||||||
| 24.06.2020, 20:38 | ||||||||||||||||||||||
Сообщение было отмечено brddrdtt как решение
РешениеВ любом случае, если вам по какой-то причине это понадобится, т.е. понадобится завести шаблонные параметры r3 и c3, которые невозможно вывести (дедуцировать) из параметров функции, то аргументы для таких шаблонных параметров вам всегда придется указывать вручную.Например если вы сделаете так
Можно вынести r3 и c3 в начало списка параметров
1
|
||||||||||||||||||||||
|
0 / 0 / 1
Регистрация: 02.12.2013
Сообщений: 37
|
||||||||
| 24.06.2020, 21:58 [ТС] | ||||||||
|
всё встало на свои места и работает. спасибо.
И ещё один вопрос. Вот при таком способе возврата массива - он возвращается с помощью копирования всех вычисленных в методе значений в область памяти, которая была заранее задана
0
|
||||||||
| 24.06.2020, 21:58 | |
|
Помогаю со студенческими работами здесь
12
Использование элементов массива через синтаксис типа: $array[$i]{0} Возврат массива из функции Возврат массива из функции Возврат массива из функции Возврат массива из функции Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: реализовать контроль корректности заполнения дат назначения. . .
|
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html
Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
|
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
|
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях.
Задача: при копировании документа очищать определенные реквизиты и табличную. . .
|
|
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git
main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели
8ATzM_2aurI
|
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2.
Задача: запретить редактирование документа, если он открыт у другого пользователя.
/ / . . .
|
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои.
А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
|
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20%
kYBz3eJf3jQ
|