C ++標準では、準拠するすべての実装が次の2つの署名をサポートすることが義務付けられていますmain
。
int main();
int main(int, char*[]);
後者の署名の場合、(トップレベルの)const
-nessを追加すると、言語規則に違反しますか?
例えば:
int main(const int argc, char** const argv)
;
私の理解では、トップレベルのconst
修飾は関数の署名ハッシュに影響を与えないため、仕様に関する限り、それは合法である必要があります。
また、このタイプの変更を拒否する実装に遭遇したことはありますか?