68
What if I write return statement in constructor? Is it standard conformant?
struct A
{
A() { return; }
};
The above code compiles fine, without any error at ideone. But the following code doesn't:
struct A
{
A() { return 100; }
};
It gives this error at ideone:
error: returning a value from a constructor
I understand that returning value from constructor doesn't make sense at all, because it doesn't explicitly mention return type, and we cannot store the returned value after all. But I'm curious to know :
- Which statement from the C++ Standard allows the first example but forbids the second one? Is there any explicit statement?
- Is the return type in the first example
void? - Is there any implicit return type at all?