hi
what does compiler gain by forcing us to write default constructor?When we don't provide any constructor,compiler creates it for that.So why not in this case too? When you do not want to invoke a default constructor, your motion seems to want to define another constructor that you want to use and do not want to use the default one. So, the compiler knows what you want to do and do not give the default constructor to you.
In the real live, You can think about that you go out to take a dinner with your friends, if you cliam that you have forgotten to bring your money. Will you friends help you to pay? :roll:
On the other hand, if you have money, you might pay your bill by yourself
and your friends might not give a free dinner to you. Right?