Standard wyraźnie stwierdza, że main
ma dwa prawidłowe (tj. Gwarantowane do pracy) podpisy; a mianowicie:Czy argumenty podpisu głównego w C++ mogą mieć kwalifikatory nieważone i const?
int main();
int main(int, char*[]);
Moje pytanie jest proste, czy coś takiego będzie legalne?
int main(const unsigned int, const char* const* argv);
moich testów powiedzieć „tak”, ale jestem pewny odpowiedzi, bo ja nie przeciążania main
zmieniając int
do unsigned int
jak również nieprzestrzegania najwyższym poziomie const
-ness od argv? Jeśli tak, to jest to wyraźnie zabronione.
Czy te modyfikacje gwarantują działanie na zgodnym ze standardem kompilatorze?
dlaczego chcesz coś takiego zrobić? Wystarczy napisać zgodny ze standardem kod – Glen
Glen, chciałbym napisać zgodny kod. Właśnie dlatego zadałem to pytanie w pierwszej kolejności. – bh9042
Następnie należy zadeklarować 'int main (int, char **)' i być na dobrej drodze. –