Как объявить многомерный массив в параметре функции в С++?
#include<iostream>
using namespace std;
void DinArr(int arr[][],const int stb, const int str) {
for (int i = str; i > 0; i--) {
for (int o = stb; o > 0; o--) {
cout << arr[stb][str];
}
}
}
int main() {
setlocale(LC_ALL, "ru");
const int str = 3;
const int stb = 3;
int arr[str][stb];
}
Ответы (1 шт):
Автор решения: AlexGlebe
→ Ссылка
Двумерных массивов плавающего размера не бывает. По этому аргументы размеров можно убрать. Типы массивов разные, при отличие в размерности это уже другой тип. Можете объявить свой тип для удобства.
const int str = 3;
const int stb = 3;
typedef int tarr[str][stb];
Массивы передаются по указателю или по ссылке.
void DinArr(tarr const & arr) {
Результат :
// g++ -Wall -Wextra -Wpedantic -c -std=c++11 arrarg2.cpp
#include<iostream>
using namespace std;
const int str = 3;
const int stb = 3;
typedef int tarr[str][stb];
void DinArr(tarr const & arr) {
for (int i = str; i > 0; i--) {
for (int o = stb; o > 0; o--) {
cout << arr[i][o];
}
}
}
int main() {
setlocale(LC_ALL, "ru");
tarr arr ;
DinArr ( arr ) ;
}