¿Alguien puede decirme qué efecto tiene este elenco (además de establecer happyNumber en 1337), si hay alguno, y si no tiene otro efecto, cómo puedo escribir código como este? ¿Es esto un error del compilador, o alguna "característica escondida" de C++?¿Qué pasa con static_cast con múltiples argumentos?
int happyNumber = static_cast<int>(123.456, TRUE, "WTF" , false , "IS" , NULL , "GOING" , 0xff , "ON???" , 1337);
Me sorprendió que compilara en absoluto. Lo encontré a través de un error donde accidentalmente configuré el segundo parámetro a algo que se suponía que debía ir en una llamada a función de la expresión que se estaba emitiendo. Esto resultó en un desagradable error donde el objeto fue lanzado desde el segundo parámetro, llamando a la función con un solo argumento. Se compiló ... Y no auge inicialmente ...
Estoy utilizando Microsoft Visual C++ 2008.
Eso es perfectamente legítimo, y no hay ningún error. – Anonymous
Ah, sí, tienes razón. Fue tan confuso para mí que * supe * tenía que ser un error del compilador, que no lo fue :) Nunca antes me encontré con el operador de coma. – Statement