comming from other programming language why can’t I do this in c++:
Because in C++ to initilize variable types on the left and right side of =
must be compatible. In your case:
myClass mc = new myClass();
mc
has type myClass
and expression on the right has type myClass *
. So you either need to change left side to:
myClass *mc = new myClass();
or right side to:
myClass mc = myClass();
to make both sides compatible. What implications it would have on class instance lifetime you should get from a C++ textbook.
1
solved Instantiating classes using new [closed]