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