Как вернуть матрицу из функции c

передать двумерный массив через функцию обратно

В смысле вернуть из функции или как?

Arcor, вернуть массив не получится. Можно вернуть обёртку — std::vector (динамический массив), std::array (обёртка над статическим массивом) (стандарт C++0x).

Arcor, замедляется в несколько раз по сравнению с чем?

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

Nekto, указатель — не массив. Вы можете вернуть полноценный массив из функции, самостоятельный, автономный массив?

Как вернуть матрицу из функции? Я делаю программу, которая постоянно отправляет матрицу в функцию, а также постоянно нуждается в возвращении матрицы из функции, я вроде знаю, как отправить матрицу в функцию (с двойными указателями), но каждый раз, когда я пытаюсь вызвать функция, которая говорит, что это несовместимый тип. Вот пример функции, которую я использую:

И вот часть, которая призывает к этой функции:

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

Буду признателен, если кто-нибудь покажет мне, как это сделать.

Вот пример того, как я объявил матрицу для работы, очень похожую на ту, которую использовала предыдущая функция, если кому-то было интересно, как я это сделал:

Любое исправление в майском письме или способе задать этот вопрос приветствуется.

Я хотел бы прочитать матрицу из cin, используя функцию, а затем вернуть матрицу обратно в main.

main.cpp

mymath.h

mymath.cpp

В чем моя ошибка?

Список ошибок подразумевает, что есть большая ошибка. Спасибо за помощь. Пожалуйста, будьте нежны, новичок здесь.

Читайте также:  Выбери предложение знаки препинания не расставлены

Решение

Вы должны префикс vector с std::vector в шапке, если у вас не было using namespace std; перед директивой включения. Во всяком случае, это хорошая практика std:: в шапке.

В основном это должно быть

то есть вы устанавливаете объект matrix к возвращаемому значению функции. В противном случае вы бы определили другой прототип для matrix_read в основной функции.

Другие решения

Максимилиан Мате был прав. Вот рабочий код: