Форум программистов, компьютерный форум, киберфорум
Наши страницы

Return многомерного массива - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Сортировка массива методом пузырька http://www.cyberforum.ru/cpp-beginners/thread1187435.html
Доброго времени суток уважаемые форумчане. Столкнулся с такой проблемой, не знаю как её решить. Суть задачи такова: Нужно реализовать функции: void max(int* tab) // загоняет в массив цифры по...
C++ Функция находит в строке первый символ, который не входит в другую строку Нужно написать собственную функцию, которая находит в строке первый символ, который не входит в другую заданную строку. Есть код, но работает не очень. Если ввести: 1 строка "малая рама" и 2 строка... http://www.cyberforum.ru/cpp-beginners/thread1187428.html
C++ Даны целые числа a1…a10, целочисленная квадратная матрица порядка n
Даны целые числа a1…a10, целочисленная квадратная матрица порядка n. Заменить нулями в матрице те элементы с четной суммой индексов, для которых имеются равные среди a1…a10. Помогите написать код,...
Ошибка "Debug Assertion Failed" C++
Привет всем. Я практикуюсь в работе с файлами. Решил написать простенькую программу для вывода суммы двух чисел. Но программа выдает ошибку "Debug Assertion Failed". Что я должен исправить в коде?...
C++ Прокомментировать код http://www.cyberforum.ru/cpp-beginners/thread1187418.html
#include <iostream> #include <cstring> #include <cstdio> using namespace std; const int maxnode = 4010*100; const int sigma_size = 26; const int MAXN = 300010; const int MOD = 20071027;
C++ Удалить из массива первое простое число, Создать функции для определения максимума простого числа в массиве вещественных чисел найти элемент , превышающий его среднее арифметическое значение если таких элементов несколько , определить их количество . Удалить из массива первое простое число .... подробнее

Показать сообщение отдельно
daslex
1284 / 528 / 109
Регистрация: 02.08.2011
Сообщений: 2,750
30.04.2015, 13:42
Юрий77, какое пустословие в том, что
а) Массив нельзя присвоить массиву, следовательно возврат его из функции несет слишком мало смысла и годился бы скорее всего только для инициализации массива.
б) Массив никогда не возвращается из функции
в) Надо называть вещи своими именами.

Цитата Сообщение от Юрий77 Посмотреть сообщение
А Вы, daslex, сами то знали, как правильно????
Было время - не знал. Почитал книжки, узнал. Об этом во всех абсолютно книжках пишут (хороших). Узнал, что нельзя.

Добавлено через 6 минут
И, да. Когда говорят "Указатель", сразу приходит непонимание. Тут ничего не поделаешь. Но только указатели решают этот вопрос. (либо вектор, либо обертки всякие).

Добавлено через 8 минут
Даже просто объявить функцию, которая возвращает массив нельзя. Получим ошибку: "Функция объявлена как функция возвращающая массив". Ошибка такая вот

С++11
C++
1
2
3
int foo()[5]{
    return {1,2,3,4,5}; //Вообще так можно, но только если не массив, а структура или класс
}
С++11 корректно
C++
1
2
3
4
5
6
7
struct A{
    int Arr[5];
};
 
A foo(){
    return {{1,2,3,4,5}};
}
Но структуры можно присваивать структурам, в отличии от массивов, поэтому это имеет смысл.

Добавлено через 33 минуты
Ну и собственно присваивать массив в массив нельзя, поэтому

C++
1
2
3
4
int main(){
   int Arr[5];
  for (int i=0;i<5;i++) Arr[i]=foo().Arr[i];  //Не очень эффективно, правда?
}
Добавлено через 3 минуты
Ну или
C++
1
2
 int Arr[5];
      memcpy(Arr,foo().Arr,5*sizeof(int));
все равно эффективности нет.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru