Предположим, мы хотим объявить функцию-член-член через typedef
:
typedef int FC() const;
typedef int F();
struct A
{
FC fc; // fine, we have 'int fc() const'
const F fc; // not fine, 'const' is ignored, so we have 'int fc()'
};
Так как const
игнорируется, программа компилируется штрафом. Почему const
игнорируется для функции? Поскольку мы можем формировать указатель const таким образом, единственное, что я могу представить, это "C-наследие". Говорит ли стандарт об этом?