ฉันเพิ่งพบข้อผิดพลาดต่อไปนี้ (และพบวิธีแก้ปัญหาออนไลน์ แต่ไม่มีอยู่ใน Stack Overflow):
(.gnu.linkonce. [stuff]): การอ้างอิงที่ไม่ได้กำหนดถึง [method] [object file] :(. gnu.linkonce. [stuff]): การอ้างอิงที่ไม่ได้กำหนดให้กับ `typeinfo สำหรับ [classname] '
เหตุใดเราจึงอาจได้รับข้อผิดพลาด "การอ้างอิงที่ไม่ได้ระบุถึงตัวเชื่อมโยง typeinfo" อย่างใดอย่างหนึ่งเหล่านี้
(คะแนนโบนัสหากคุณสามารถอธิบายสิ่งที่เกิดขึ้นเบื้องหลัง)
virtual void abc() =0;
(ถ้าเวอร์ชันฐานไม่เคยถูกเรียก)
abc()
เช่นนั้นคุณสามารถลืมกำหนดabc()
ในคลาสที่ได้รับมาและคิดว่าทุกอย่างไม่เป็นไรเนื่องจากคุณจะยังสามารถเรียกใช้ฟังก์ชันได้โดยไม่มีปัญหา แนวทางปฏิบัติที่ดีสำหรับการใช้งานฟังก์ชั่นเสมือนล้วนมีอยู่ในบทความนี้และนี่คือการทำให้ฟังก์ชั่นการพิมพ์ "ฟังก์ชั่นเสมือนจริงที่เรียกว่า" และจากนั้นโปรแกรมผิดพลาด
= 0;
พยายามติดตามพฤติกรรมบางบ้าและฉันทั้งหมดที่จำเป็นคือ