incomplete type
ข้อผิดพลาดคือเมื่อคอมไพเลอร์ได้พบกับการใช้งานของตัวระบุว่ามันรู้ว่าเป็นชนิดเช่นเพราะมันได้เห็นไปข้างหน้าการประกาศของมัน (เช่นนั้นclass stringstream;
) แต่มันยังไม่เห็นความหมายที่เต็มรูปแบบสำหรับมัน ( class stringstream { ... };
)
สิ่งนี้อาจเกิดขึ้นกับประเภทที่คุณไม่ได้ใช้ในรหัสของคุณเอง แต่จะปรากฏผ่านไฟล์ส่วนหัวที่รวมไว้เท่านั้น - เมื่อคุณรวมไฟล์ส่วนหัวที่ใช้ประเภท แต่ไม่ใช่ไฟล์ส่วนหัวที่กำหนดประเภทไว้ เป็นเรื่องผิดปกติที่ส่วนหัวจะไม่รวมส่วนหัวทั้งหมดที่ต้องการ แต่ไม่ใช่เรื่องที่เป็นไปไม่ได้
สำหรับสิ่งต่างๆจากไลบรารีมาตรฐานเช่นstringstream
คลาสให้ใช้มาตรฐานภาษาหรือเอกสารอ้างอิงอื่น ๆ สำหรับคลาสหรือฟังก์ชันแต่ละฟังก์ชัน (เช่นman
เพจUnix ไลบรารี MSDN ฯลฯ ) เพื่อค้นหาว่าคุณต้อง#include
ใช้อะไรและอะไร เนมสเปซเพื่อค้นหาในถ้ามี คุณอาจต้องค้นหาหน้าที่มีชื่อคลาสปรากฏขึ้น (เช่นman -k stringstream
)