avec gcc en utilisant -std=gnu99
, le code suivant compile:Comment puis-je spécifier à gcc que {} init en C ne doit pas compiler?
void f()
{
struct X data = {};
// do something with data
}
Est-ce valide C? Est-ce une extension GNU?
Comment puis-je dire à gcc de ne pas accepter ce type d'init?
Je veux assurer la compatibilité avec d'autres compilateurs (comme Visual 2015 par exemple)
Qu'est-ce que vous essayez de faire avec {{} '? Initialiser le contenu de 'data'? – naccyde
Oui (comme {0} qui est valide C). Le problème est que l'équipe utilise C++/C quotidiennement et il est facile pour quelqu'un de l'utiliser sans réfléchir (même si en C++, ce serait struct X data {};) – Tic