RSS Feed
Download our iPhone app
Browse DevX
Sign up for e-mail newsletters from DevX


Overcoming the "Most Vexing Parse" Problem

The "most vexing parse" is a mysterious syntactic specter that the compiler interprets in the least expected manner, biting innocent programmers who think their code means something entirely different. Find out where that vexing parse might occur and how to avoid it.


he C++ literature uses the phrase "most vexing parse" to denote one of the dark syntactic alleys of C++. It's vexing because programmers usually don't even know it exists; they assume that their code creates an object initialized with a temporary, whereas the compiler interprets that same code as no less than a function declaration. This 10-Minute Solution explains where and why that parse problem happens, and presents two simple techniques to avert it.

You define an object whose initializer is a temporary, but the compiler unexpectedly interprets the code as a function declaration.

Rewrite your code so that it avoids the most vexing parse problem.



Close Icon
Thanks for your registration, follow us on our social networks to keep up-to-date