次の 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関数が許可されている理由がわかりません。
関数の戻り値の型に型修飾子を使用できるのはなぜですか?