@sddvxd

Почему не инициализировать int (*)[][]?

Здравствуйте!
Пытаюсь передать трехмерный массив в виде указателя на первый элемент, с помощью параметров не выходит указать размерности:

void print_multiple(int* pint, dim1, int dim2, int dim3){
    int (*parr)[dim2][dim3] = (int(*)[dim2][dim3]) pint; //Ошибка


Если указывать в скобках литералы - проходит без проблем. Подскажите пожалуйста, почему так
  • Вопрос задан
  • 102 просмотра
Решения вопроса 1
jcmvbkbc
@jcmvbkbc
"I'm here to consult you" © Dogbert
Потому что С++. gcc это принимает (без ключа -pedantic) просто потому что это совместимо с с99. Но это не стандартный с++.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы