Both Studio 12.5 and 12.6 give error on {} initialization of objects for classes with explicit constructor
struct Class {
explicit Class() { }
};
Class returning()
{
Class c{};
return c;
}
Error message:
line 7: Error: Could not find a match for Class::Class({initializer list}) needed in returning()
I find it a bug, explicit constructor should disallow Class object = {}; but not direct default initialization.
When constructor is default (i.e. explicit Class() = default;) the error disappears.