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); // can pfn be a const member?
void (&rfn)(int i); // can rfn be a const member?
};
>Solution :
- 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? }; - It already is – You can’t assign to a member referencing a function.