Two classes:
class ServerTrackedObject
{
…
virtual bool
applyJoulesDamage(class Joules& joules, class Player*) ;
…
};
and
class MobileSpawnSTO : public ServerTrackedObject
{
…
virtual bool
applyJoulesDamage(class Joules& joules, class Client*) ;
…
};
The second applyJoulesDamage is supposed to override the former. But the compiler has no way of knowing that so it blissfully continues without so much as a warning.
There needs to be an operator that indicates you want to overload an earlier virtual function, e.g.
overloaded virtual bool applyJoulesDamage(…) ;
So that the compiler can say “Hey, there isn’t an existing vtable entry for this… Dammit.
Recent Comments