10

C ++標準では、準拠するすべての実装が次の2つの署名をサポートすることが義務付けられていますmain

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

後者の署名の場合、(トップレベルの)const-nessを追加すると、言語規則に違反しますか?

例えば:

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

私の理解では、トップレベルのconst修飾は関数の署名ハッシュに影響を与えないため、仕様に関する限り、それは合法である必要があります。

また、このタイプの変更を拒否する実装に遭遇したことはありますか?

4

1 に答える 1

5

これは、標準の既知の問題です。このトピックに関する usenet の議論も参照してください。

于 2010-06-13T23:49:16.620 に答える