c++function-pointersfunction-reference

C++Niche Syntax: Function Reference Type Declaration: const reference?


This is a niche question, but I'm struggling to find a sufficient answer.

Struct members can be const, but can a function pointer/reference member be declared const? Based off my reading of C++17 section 9.3, I don't think so:

struct Ex {
  const int i;
  void (*pfn)(int i); // 1. can pfn be a const member?
  void (&rfn)(int i); // 2. can rfn be a const member?
};

Solution

    1. Yes:
      struct Ex {
          const int i;
          void (*const pfn)(int i); // 1. can pfn be a const member?
          void (&rfn)(int i);       // 2. can rfn be a const member?
      };
      
    2. It already is - You can't assign to a member referencing a function.