I have such code
class A
{
    A() = default;
};
class B
{
    B(); 
};
B::B() = default;
int main()
{
    A a{}; //1
    A a1;  //2
    B b{}; //3
    B b1;  //4
}
Lines 2, 3, 4 generates compilation error as expected. But line 1 works! Please explain
- Difference between lines 1 and 2? In my opinion both of them should use default constructor and generate the same error.
- Difference between constructors in A and B classes.
 
    