ออกตัวก่อนว่าผมเขียนภาษาอื่นมาก่อน เพิ่งเคยจับงานC++ครั้งแรก
ผมอยากจะทำฟังก์ชั่นสำหรับUndo/Redo ซึ่งโค้ดที่ผมต้องการประมาณนี้
typedef CArray<CPoint,CPoint&> arr1;
typedef CArray<arr1,arr1&> arr2;
arr1 a;
arr2 b;
b.Add(a);
แต่มันerrorว่า
"error C2248: 'CObject::CObject' : cannot access private member declared in class 'CObject'
เหมือนจะมีข้อจำกัดบางอย่างที่ไม่ยอมให้ใช้Array ซ้อนArrayแบบภาษาอื่นๆที่ผมเคยทำ
ผมค้นgoogle ดูแล้วเห็นเขาบอกให้เอาสิ่งที่สร้างในtypedefไปสร้างเป็นClass Object
https://stackoverflow.com/questions/864864/error-using-carray
แต่ผมอ่านแล้วไม่ค่อยเข้าใจ จึงมองไม่ออกว่าจะประยุกต์ใช้กับปัญหาของตัวเองยังไง
รบกวนช่วยแนะวิธีแก้ หรืออธิบายเพิ่มเติมจากลิ้งค์Stackoverflowนี้ก็ได้ครับ
CArray ซ้อน CArray ในC++(MFC) ทำยังไง?
ผมอยากจะทำฟังก์ชั่นสำหรับUndo/Redo ซึ่งโค้ดที่ผมต้องการประมาณนี้
typedef CArray<CPoint,CPoint&> arr1;
typedef CArray<arr1,arr1&> arr2;
arr1 a;
arr2 b;
b.Add(a);
แต่มันerrorว่า
"error C2248: 'CObject::CObject' : cannot access private member declared in class 'CObject'
เหมือนจะมีข้อจำกัดบางอย่างที่ไม่ยอมให้ใช้Array ซ้อนArrayแบบภาษาอื่นๆที่ผมเคยทำ
ผมค้นgoogle ดูแล้วเห็นเขาบอกให้เอาสิ่งที่สร้างในtypedefไปสร้างเป็นClass Object
https://stackoverflow.com/questions/864864/error-using-carray
แต่ผมอ่านแล้วไม่ค่อยเข้าใจ จึงมองไม่ออกว่าจะประยุกต์ใช้กับปัญหาของตัวเองยังไง
รบกวนช่วยแนะวิธีแก้ หรืออธิบายเพิ่มเติมจากลิ้งค์Stackoverflowนี้ก็ได้ครับ