2 ms·
> Implementing static member functions this way would cause undefined behavior, which is a bug. Yes. My point is, that it can't be a static member function, b
by 1718627440 1y ago
> Implementing static member functions this way would cause undefined behavior, which is a bug.
Yes. My point is, that it can't be a static member function, because it's overridden by subclasses.
- ryao 1y agoIt cannot be overridden by subclasses without risking undefined behavior because there is no this pointer for it to use.
- 1718627440 1y agoYes it can. It simply means the subclass implementation has no access to a this pointer. When would undefined behaviour occur here? When a function tries to use a parameter that does not exist in the function signature, that's a compile time error not UB. Maybe you think that, because a this pointer is needed for dynamic dispatch? A this pointer exists there, it is just not passed to the implementation.