回答
你實際上並沒有創建任何實例。
您要撥打的變量cube1
是指向Cube
的指針。
創建多維數據集,你應該有:
Cube* cube1 = new Cube();
這創造立方的堆內存的新實例,你應該叫delete cube1
一旦你不使用它了。
或:
Cube cube1;
此創建堆棧內存立方體的一個新實例,一旦超出範圍就會被破壞。
PS。你應該得到一個C++教科書。
我的確在想這個,但奇怪的是我可以在指針上調用函數而不用實例化它。顯然是另一種誤解,但你能澄清嗎? – SirYakalot
編譯器不檢查指針是否指向任何東西,因爲在大多數情況下,它不可能知道。程序員必須確保在指針指定給合法對象之前避免使用指針。 – Kylotan
Kylotan是正確的,你創建了一個有效的(從類型pov)Cube指針。但是這個指針並沒有指向任何有效的對象。從編譯器的pov一切都沒問題,但是在運行時它會失敗,因爲沒有實際的Cube。 –
您未創建多維數據集實例;你正在創建一個指向Cube的指針。
要創建一個指向一個立方體的一個新實例,你想要這樣的代碼:
Cube* cube1 = new Cube;
- 1. 爲什麼移動構造函數在這種情況下不會被調用?
- 2. 爲什麼在這種情況下調用複製構造函數?
- 3. 爲什麼java在這種情況下先調用NOT default構造函數?
- 4. 爲什麼在這種情況下構造類模板的成員函數?
- 5. 即使類和構造函數的情況不同,爲什麼我的構造函數仍然被調用?
- 6. 爲什麼setTimeOut在這種情況下不被調用?
- 7. 在什麼情況下C++析構函數不會被調用?
- 8. 爲什麼我的複製構造函數只在這種情況下調用兩次?
- 9. 爲什麼在這種情況下複製構造函數匹配?
- 10. 在這種情況下調用super的構造函數是多餘的嗎?
- 11. 爲什麼在這種情況下print()函數不打印
- 12. 在哪種情況下調用C++拷貝構造函數?
- 13. 訂單在一種情況下C++調用構造函數
- 14. 爲什麼在這種情況下使用'apply'函數?
- 15. 爲什麼不能在這種情況下訪問基類的成員函數?
- 16. 爲什麼我的拷貝構造函數不被調用?
- 17. 爲什麼ProgressDialog在這種情況下不會被解僱?
- 18. 在不調用構造函數的情況下在類中調用方法
- 19. 爲什麼在這三種情況下
- 20. 爲什麼在這種情況下
- 21. 爲什麼在這種情況下
- 22. 爲什麼在這種情況下,respondsToSelector不適用於我?
- 23. 爲什麼這個javascript函數在未被調用的情況下運行?
- 24. C++類組成,爲什麼構造函數不被調用?
- 25. 爲什麼不在這種情況下調試工作?
- 26. 當對構造函數進行調用時會發生什麼(在這種情況下清晰的概念)?
- 27. 在什麼情況下React類組件會被構造多次?
- 28. 爲什麼在這種情況下BDDMockito不能解析類型?
- 29. 有什麼用在這種情況下
- 30. 爲什麼我的類型構造函數不被識別
查找C++一個很好的教程,你缺乏一個非常重要的基本概念:在指針和對象之間的區別。 –
這不是遊戲開發問題,可能屬於StackOverflow。 –