ต่อไปนี้เป็นสาเหตุที่พบบ่อยที่สุดของการทำงานที่ไม่ได้กำหนดในการเขียนโปรแกรม C++ โปรดทราบว่าสิ่งเหล่านี้ระบุไว้ในมาตรฐานเพื่อนำไปสู่การทำงานที่ไม่ได้กำหนดไว้ และควรหลีกเลี่ยงค่าใช้จ่ายทั้งหมดเมื่อเขียนโปรแกรม
- โอเวอร์โฟลว์จำนวนเต็มที่มีเครื่องหมาย
- โดยอ้างอิงจากตัวชี้ NULL ตัวชี้ที่ส่งคืนโดยการจัดสรร "ใหม่" ของขนาดศูนย์ ตัวชี้ที่ยังไม่ได้เริ่มต้นอย่างแน่นอน ตัวชี้ที่ตำแหน่งที่อยู่นอกเหนือส่วนท้ายของอาร์เรย์
- การใช้พอยน์เตอร์ไปยังวัตถุที่อยู่นอกขอบเขตหรือถูกลบไปแล้ว
- ดำเนินการเลขคณิตตัวชี้ที่ให้ผลลัพธ์นอกขอบเขตของอาร์เรย์
- การแปลงพอยน์เตอร์เป็นวัตถุประเภทที่เข้ากันไม่ได้
- การอ่านหรือเขียนไปยังอ็อบเจ็กต์หรืออาร์เรย์โดยมีค่าออฟเซ็ตที่เป็นค่าลบ
- การเรียกใช้ฟังก์ชันเสมือนไปยังฟังก์ชันเสมือนแท้ของอ็อบเจ็กต์จากตัวสร้างหรือตัวทำลาย
- ไม่คืนค่าจากฟังก์ชันการคืนค่า