回答
你實際上並沒有創建任何實例。
您要撥打的變量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. 在什麼情況下C++析構函數不會被調用?
- 6. 爲什麼我的複製構造函數只在這種情況下調用兩次?
- 7. 爲什麼在這種情況下複製構造函數匹配?
- 8. 在這種情況下調用super的構造函數是多餘的嗎?
- 9. 爲什麼在這種情況下print()函數不打印
- 10. 訂單在一種情況下C++調用構造函數
- 11. 爲什麼在這種情況下使用'apply'函數?
- 12. 爲什麼在這種情況下
- 13. 爲什麼在這種情況下,respondsToSelector不適用於我?
- 14. 爲什麼這個javascript函數在未被調用的情況下運行?
- 15. 在什麼情況下React類組件會被構造多次?
- 16. 爲什麼在這種情況下BDDMockito不能解析類型?
- 17. 巴什 - 如何調用一個函數,在這種情況下
- 18. 爲什麼我的默認構造函數沒有在這裏被調用?
- 19. 爲什麼我的C++移動構造函數未被調用?
- 20. 爲什麼我的構造函數被反覆調用?
- 21. 爲什麼QWebFrame :: evalutateJavaScript在這種情況下什麼都不做?
- 22. 爲什麼ConnectTimeout在這種情況下被忽略?
- 23. 爲什麼這個構造函數被調用兩次?
- 24. 爲什麼console.log在這種情況下不需要參數?
- 25. 爲什麼在這種情況下PHP imagettftext函數不起作用?
- 26. 在不調用構造函數的情況下遞歸地實例化子類?
- 27. 類構造函數PolymerElement不能在沒有'new'的情況下調用
- 28. 爲什麼變量在這種情況下是不確定的?
- 29. 這種情況下最好的數據結構是什麼?
- 30. 爲什麼在這種情況下startActivityForResult()方法不起作用
查找C++一個很好的教程,你缺乏一個非常重要的基本概念:在指針和對象之間的區別。 –
這不是遊戲開發問題,可能屬於StackOverflow。 –