La norma establece explícitamente que main
tiene dos firmas válidas (es decir, garantizadas para trabajar); a saber:¿Pueden los argumentos de la firma main en C++ tener los calificadores unsiged y const?
int main();
int main(int, char*[]);
Mi pregunta es simple, algo como el siguiente sería legal?
int main(const unsigned int, const char* const* argv);
Mis pruebas dicen 'sí', pero estoy seguro de la respuesta, porque no estoy sobrecargando main
cambiando int
a unsigned int
así como el nivel superior no const
-ness de argv? Si lo estoy, entonces eso está claramente prohibido.
Entonces, ¿estas modificaciones están garantizadas para funcionar en un compilador que cumpla con los estándares?
¿por qué le gustaría hacer algo como eso? Simplemente escriba el código de conformidad con el estándar – Glen
Glen, _want_ para escribir el código conforme. Es por eso que hice esta pregunta en primer lugar. – bh9042
Luego declara 'int main (int, char **)' y sigue tu camino. –