我得到這個錯誤時,嘗試這樣做允許嗎?不完整的類型沒有在結構構造
2
A
回答
7
移動初始化出類主體的:
struct VertexStatus
{
...
static VertexStatus Discovered; // declaration
...
};
VertexStatus VertexStatus::Discovered(1); // definition (with initializer)
如果該類是在頭文件中聲明,最後一行(定義)放入相應.cpp
文件。
請注意,我已經刪除了new
:它返回一個指針,並且此代碼中沒有涉及指針。
-2
VertexStatus
的大小直到它被完全聲明後才知道,它沒有被定義在它自己的定義中。
而是初始化靜態變量的聲明之後,這樣的:
struct VertexStatus {
static VertexStatus Discovered;
// ... other stuff
};
VertexStatus::Discovered = new VertexStatus(1);
如果這是一個頭文件裏面,你需要把最後一行內它的相應的.cpp文件。
+2
'發現'不是一個指針 - 這個代碼是沒有意義的,也不會編譯。 –
相關問題
- 1. F#不完整的類型結構引起的結構化構造
- 2. F#不完整的結構化構造
- 3. C結構體的不完整類型
- 4. clang_complete不完整的構造
- 5. 鑄造結構構件的類型
- 6. 的類型沒有構造定義
- 7. 數組類型具有不完整的結構iocb元素類型
- 8. 結構選項錯誤:數組類型具有不完整的元素類型
- 9. OpenGL無效使用不完整的類型'結構GLUquadric'
- 10. C:類型'結構日期'錯誤的不完整定義
- 11. C++ - 印刷地圖<結構,結構,構造>類型
- 12. 數組的結構 - 數組具有不完整的元素類型(在C中)
- 13. 靜態類沒有構造
- 14. typedef結構頭和解除引用指針不完整類型
- 15. Java構造函數從來沒有完成構造
- 16. 如何調用類的構造泛型類型的構造
- 17. 類型...不是構造函數類型
- 18. 結構system.Int32沒有類型參數
- 19. 結構沒有被定義爲類型
- 20. UB具有不同類型的結構鑄造?
- 21. 構造結構錯誤的(調用類的構造函數denconstructor,填補結構)
- 22. 錯誤與結構定義:場'myaiocb具有不完整的類型
- 23. 不完整類型結構的使用無效,即使有前向聲明
- 24. 類型的結構自動完成
- 25. 變量具有不完全類型 '結構sockaddr_in的'
- 26. 記錄類型沒有類型構造函數?
- 27. 在使用結構時在C中的不完整類型錯誤
- 28. 類構造函數中的結構
- 29. 沒有構造DbRepository實現在子類
- 30. 結構類型
你不想在這裏使用'new'。 – juanchopanza
很多都是錯誤的,包括你似乎混淆了Java和C++的事實。請參閱NPE關於如何正確*做你想做的事情的答案。 –
@juanchopanza可能錯過了格式化/複製/粘貼:) – sarat