I was going through this article
and there is a statement in item 3 saying
// C++98
rectangle w( origin(), extents() ); // oops, vexing parse
how is the above a most vexing parse. If I did something like this
struct origin
{
};
struct Rectangle
{
Rectangle(const origin& s)
{
}
};
The statement
Rectangle s(origin());
works fine and does not resemble a vexing parse. Why did the author say that its a vexing parse. Is that a typo or am I missing something ?