Use of undeclared identifier

In such cases, I can often help myself if I “encapsulate” the piece of source code in a “{ … }” pair (so, I create a tiny unnamed macro). Unfortunately, this often breaks, too.

There is a nasty unsolved problem with “unnamed macros”, known since 11 years ago: “Return from an unnamed macro in ROOT 6 broken

Maybe when you finally fix this problem, also the artificial “;” will not be needed anymore.