Home "A type cannot be introduced in a function parameter list"
 I'm using the Bullet physics library in a C++ program on Visual Studio. When I turn off the Visual Studio language extensions I cannot get the Bullet physics library to compile, I get the error: 'btSerializer': a type cannot be introduced in a function parameter list And brings me to the line: virtual const char* serialize(void* dataBuffer, class btSerializer* serializer) const;  The documentation for these functions are here: Documentation Edit: Verifiable example, what is happening here? class Bar {public: void serialize(void* dataBuffer, class btSerializer* serializer) ; }; int main() { }  If Visual Studio language extensions are on, it compiles fine. If I turn it off it emits the same error as I mentioned above. Also, if I eliminate the first argument of the void pointer, so that the function has only the btSerializer* argument it compiles fine. So for example: class Bar {public: void serialize(void* dataBuffer, class btSerializer* serializer) ; };  Emits the error: 'btSerializer': a type cannot be introduced in a function parameter list But: class Bar {public: void serialize(class btSerializer* serializer) ; };  Compiles fine. Also, a forward declaration of class btSerializer; makes the error go away.