Прежде всего, я хочу заверить вас в том, что я задаю этот вопрос из любопытства. Я имею в виду, не говорите мне, что если мне это нужно, тогда у моего дизайна проблемы, потому что мне это не нужно в реальном коде. Надеюсь, я убедил тебя:) Теперь на вопрос:
Для большинства типов T мы можем написать
T* p = new T;
теперь что, если T - тип массива?
int (*p)[3] = new ???; //pointer to array of 3 = new ???
Я пробовал это:
typedef int arr[3];
arr* p = new arr;
но это не работает.
Есть ли какой-либо допустимый синтаксис для этого или это невозможно в С++. Если это невозможно, то почему? Благодаря
Изменить: я предполагаю, что я был недостаточно ясен. Я хочу использовать его в этой ситуации:
void f(int(&)[3]);
int (*p)[3] = new ???;
f(*p);