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

Двумерный массив std::array. Размеры массива шаблоном - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Вывести на экран фигуру используя введеный символ http://www.cyberforum.ru/cpp-beginners/thread1734663.html
C++ Дипломная работа "Программа для самостоятельного изучения языков программирования" Добрый день, при разработки своей дипломной работы возникли небольшие затруднения. Идея проекта - "Будет создана программа в которой пользователь самостоятельно будет изучать языки программирования(C++,C#,Java), но изучать он будет не только читая справочный материал, но и выполнять задания по той или иной теме.(например: тема по С++ "Циклы" пользователь читает кратко изложенный материал и... http://www.cyberforum.ru/cpp-beginners/thread1734659.html
вывести на экран C++
ошибка с оператором множественного выбора C++
здравствуйте, форумчане. вот код реализации очереди: #include <conio.h> #include <iostream> #include <locale.h> #include <cstdlib> using namespace std; struct QUEUE {
C++ Удаление строки из файла http://www.cyberforum.ru/cpp-beginners/thread1734640.html
Добрый день, возник вопрос возможно ли удалить/изменить в файле слово/строку, не перезаписывая при этом весь файл?
C++ массивы Опять что-то не работает,судя по всему какой-то пустяк,помогите найти #include "stdafx.h" #include <algorithm> #include <iostream> using namespace std; int main(int argc, char* argv) { setlocale(LC_ALL, "Russian"); подробнее

Показать сообщение отдельно
TheCalligrapher
С чаем беда...
Эксперт С++
 Аватар для TheCalligrapher
2782 / 1428 / 393
Регистрация: 18.10.2014
Сообщений: 2,620
15.05.2016, 06:25     Двумерный массив std::array. Размеры массива шаблоном
Цитата Сообщение от daslex Посмотреть сообщение
Как это сделать?
Сначала надо было бы объяснить, что именно вы пытаетесь сделать. В частности, я не совсем понимаю, эти манипуляции с типом T. Вы передаете в функцию array<array<int, 9>, 10> arr, т.е. T - это двумерный массив array<array<int, 9>, 10>. Потом внутри вы объявляете array<T, N> temp, то есть это уже массив двумерных массивов - трехмерный массив. Так и задумано? Вам нужен трехмерный массив?

Если так и задумано, то почему массивы передаются, как некое абстрактное T? Почему бы не передавать как

C++
1
2
3
4
template <typename T, size_t N, size_t M>
void foo(std::array<std::array<T, N>, M> &arr) {
  ...
}
и тогда не надо будет вручную выписывать размеры при вызове.
 
Текущее время: 18:57. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru