Я новичок в C++ и по-прежнему очень смущен тем, как работают 2d массивы с указателями. Если у меня есть это (в примере формата):C++ Pointer и 2d array output
int* anarray = anarrayfiller();
for (int a=0;a<10;a++) {
for (int b=0;b<10;b++) {
cout<<(char)anarray[a][b]; //Here's the error mentioned below
}
cout<<"\n";
}
//Later, outside main
int* anarrayfiller() {
int anarray[10][10];
//Populated here
return &anarray;
}
Это приводит к ошибке при Ь в соиЬ < < линия: «Выражение должно иметь указатель на объект типа» я бы просто проверить, как искать через 2d массивы, и я нашел это: A pointer to 2d array Это говорит о том, что на самом деле этот указатель указывает на массив int внутри anarray [0], и если это так, я должен что-то пропускать с точки зрения возвращающих указателей - не будет Затем мне нужно вернуть указатель на 2d массив указателей, каждый из которых указывает на определенный int из anarray? Я здесь очень смущен. Как работают указатели с массивами 2d?