Const-квалификация параметров Main в C++


Стандарт C++ предписывает, что все соответствующие реализации поддерживают следующие две сигнатуры для main:

  • int main();
  • int main(int, char*[]);

В случае последней подписи, будет ли добавление (верхнего уровня) const-ness нарушать какие-либо языковые правила?

Например:

int main(const int argc, char** const argv);

Насколько я понимаю, квалификация верхнего уровня const не влияет на хэш сигнатуры функции, поэтому она должна быть легальной, поскольку спецификация обеспокоенный.

Кроме того, кто-нибудь когда-нибудь сталкивался с реализацией, которая отвергала этот тип модификации?
1 10

1 ответ:

Это известная проблема в стандарте. Также смотритеэто обсуждение usenet на эту тему.