给定以下 C 源代码:
const int foo(void)
{
return 42;
}
gcc编译没有错误,但使用-Wextraor-Wignored-qualifiers时,会出现以下警告:
warning: type qualifiers ignored on function return type
我知道在 C++ 中有充分的理由区分const函数和非const函数,例如在运算符重载的上下文中。
然而,在纯 C 语言中,我看不出为什么gcc不发出错误,或者更简洁地说,为什么标准允许const函数。
为什么允许在函数返回类型上使用类型限定符?