while (({bool a; a =a&&false; a;})) { ; }funcionará bien
pero
while ({bool a; a =a&&false; a;}) { ; }terminar con
filename.cc: In function 'int main()': filename.cc:103:10: error: expected primary-expression before '{' token while ({bool a; a =a&&false; a;}) { ^ filename.cc:103:10: error: expected ')' before '{' token while ({bool a; a =a&&false; a;}) { ~^ ) filename.cc:103:35: error: expected primary-expression before ')' token while ({bool a; a =a&&false; a;}) {¿A qué palabra clave debo referirme si quiero obtener más información al respecto?
He buscado palabras clave como `` llaves dentro de paréntesis en C '' pero en vano
otros intentos:
while (({ ; })) { ; } filename.cc:105:16: error: could not convert '({...})' from 'void' to 'bool' while (({ ; })) { parece que '({...})' es un tipo , algo así como int , float . ¿Tengo razón? o es algo así como la función lambda en c++?
gracias a @user2864740, @o11c, @paddy, mi problema está resuelto. es una especie de ``expresión de declaración'' solo disponible en gcc.