in the Debug.h file, I have the following:
#ifdef DEBUG_FLAG #define DEBUG(msg) std::cerr << #msg << std::endl #else #define DEBUG(msg) for(;
You don't need:
#define DEBUG(msg) for(;;)
at all. If you just have it as:
#define DEBUG(msg)
then the expression will be literally blank and won't require a semicolon at all.
EDIT: And actually, having sole semicolons will not cause crashes or compiler errors.