Let me say hi to every ghorban in this community.I faced a similar issue while trying to create my own custom exception class. To make things easier, I created some macros to throw my custom exception. However, I made the mistake of forgetting to include #include in the macros file. This omission caused the compiler to fail in a rather confusing way. Adding the correct header resolved the issue. I actually have no idea what this mistake has to do with missing semicolon but i hope my excperience could help you guys too.