Похоже, вы хотите создать динамический массив c, в котором тип элемента равен char (*)[16]
. Нет, это не может быть сделано без псевдонима типа. Чтобы использовать динамический экстент c, необходимо использовать следующую форму new-expression (C ++ 17 [expr.new] / 1):
::
(опция) new
новое размещение (опция) новый идентификатор типа новый инициализатор (опция)
Но если вы посмотрите на определения новый-тип-идентификатор , новый-декларатор и noptr-новый-декларатор , вы увидите что круглые скобки не допускаются для изменения приоритета оператора. Таким образом, мы не можем явно записать желаемый тип в этом контексте.
Лучшее решение: используйте std::vector
. Если вы не можете этого сделать (возможно, вы нацелены на очень ограниченную автономную реализацию), используйте typedef.