Доступ к многомерному массиву, передаваемую для функцииC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Доступ к многомерному массиву, передаваемую для функции

Сообщение Anonymous »

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

Код: Выделить всё

MyArrayGenerator theArrGen = MyArrayGenerator();
const int size = 9;
int generatorArray[size][size][10];

theArrGen.generateArray(size, generatorArray[size][size+1]);
< /code>
Метод в моем классе: < /p>
void MyArrayGenerator::generateArray(int size,int* pointerToMultiDimArr)
{
int height = size + 1;
// this ptr points to the array address
int* ptr = pointerToMultiDimArr;
// not working:
ptr[1][1][1] = 123;
}
Это бросает ошибку компилятора https://msdn.microsoft.com/de-de/library/fhexbxk9.aspx, что означает, что указатель не объявляется как массив. Мой вопрос: как должен выглядеть аргумент метода и как получить доступ к массиву в моем методе после этого. Позже я хочу, чтобы пользователь ввел размер многомерного массива и < /p>

Код: Выделить всё

    const int size = 9;
- просто заполнитель

Подробнее здесь: https://stackoverflow.com/questions/360 ... o-function
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»