That Microsoft-specific "stdafx.h" garbage is the cause. That get's generated by default with Visual C++ projects. Also, you get a Windows-specific tmain() entry point instead of the standard main().
The simplest way to fix it is to move the RoomType class declaration *after* #include "stdafx.h".
The best way to fix it is to recreate your project. On the second screen of the project wizard for a "C++ Console Application", you have an "Application Settings" tab on the left. Click that and then, (a) turn off "Precompiled headers", and then select "Empty project".
Then, you can create just what source files you need (no stdafx.h or stdafx.cpp) and you don't get the nonstandard "Hello World" program.
The reason that you got that bogus error is that the precompiled header (PCH) feature assumes that every source file in the project has identical definitions up to and including the include of "stdafx.h". It sets up your project to compile a dummy file (stdafx.c or cpp) just once to create the precompiled header file, and that file is use for all definitions up to and including "stdafx.h". If programs have different orders of definitions and includes in the "precompiled" part, it causes problems like yours.
The PCH feature can be a timesaver for compiling huge projects, especially for Windows apps, where the "windows.h" file brings a ton of definitions into every source that's compiled. You don't need it for small projects.