If you just want to continue using the code without fixing it, you can give Microsoft's current compilers the -Zc:forScope-
switch to force the compiler to follow the rules that were the norm a few decades ago (or so).
Obviously, I can't guarantee that their compilers will continue to support that indefinitely, so I'd still consider updating this code a fairly high priority, but the compiler switch will let you avoid it for now, and assign a priority rather than requiring that it be fixed immediately to continue using the code at all.
Interesting aside: the compiler in VC++ 6 was actually capable of following the current rule (but didn't by default). The switch to enforce the correct scope was unusable in practice though, because many (most?) of the the standard headers included with the compiler depended on non-standard behavior that was disabled with that switch.