次の C ソース コードがあるとします。
const int foo(void)
{
return 42;
}
gcc
エラーなしでコンパイルされますが、-Wextra
またはを使用-Wignored-qualifiers
すると、次の警告が表示されます。
warning: type qualifiers ignored on function return type
たとえば、演算子のオーバーロードのコンテキストで、 C++ でconst
関数と非関数を区別する正当な理由があることを理解しています。const
しかし、単純な C ではgcc
、エラーが発生しない理由、またはより簡潔に言えば、標準でconst
関数が許可されている理由がわかりません。
関数の戻り値の型に型修飾子を使用できるのはなぜですか?