如果我有一個類Rectangle
初始化對象有和沒有新的運營商
class Rectangle{
private:
double width;
double height;
public:
void Set(double w , double l){
width = w;
height = l;
}
};
我decleare對象,例如:
Rectangle *Obj;
,然後嘗試初始化它的屬性:
Obj->Set(3,5);
編譯器在運行時顯示:The variable 'Obj' is being used without being initialized.
的問題可以通過解決:
Rectangle *Obj=new Rectangle;
我想請教一下原因!爲什麼編譯器在編譯時不顯示任何錯誤?
只是一個nit,但是'Rectangle * Obj;'不只是_declare_;它也是_defines_。它確實保留了內存;足夠的內存來存儲指針。 –
@JamesKanze:你當然是對的。我會馬上更新我的回答 – arne