Является ли это законным в C/C++? `int* p = (int[]) {1,2,3} ;`

Этот мой ответ вызвал несколько комментариев, утверждающих, что следующая конструкция не является легальной в C/C++:

void f (int* a) ;
f ((int[]){1,2,3,4,0}) ;

(полную программу смотрите по ссылке this ideone link). Но мы не смогли решить этот вопрос. Может ли кто-нибудь пролить свет на это? Что говорят различные стандарты?

9
задан Community 23 May 2017 в 11:48
поделиться