[ERROR]
An explicit constructor call was done for a specific object.
struct A {
A();
void f();
};
void A::f() {
this->A(); // error
A(); // ok, generating temporary object
}
void main() {
A a;
a.A(); // error
A(); // ok, generating temporary object
}
Explicit constructor calls are only legal, if no object is specified, that means, a temporary object is generated.