تحويل المؤشر إلى المؤشر بين الفئات المشتقة والقاعدة؟
-
22-09-2019 - |
سؤال
بخصوص برنامج C ++ التالي:
class Base { };
class Child : public Base { };
int main()
{
// Normal: using child as base is allowed
Child *c = new Child();
Base *b = c;
// Double pointers: apparently can't use Child** as Base**
Child **cc = &c;
Base **bb = cc;
return 0;
}
تنتج GCC الخطأ التالي في بيان التعيين الأخير:
error: invalid conversion from ‘Child**’ to ‘Base**’
سؤالي في جزأين:
- لماذا لا يوجد تحويل ضمني من الطفل ** إلى قاعدة **؟
- يمكنني جعل هذا المثال يعمل مع فريق C على غرار أو أ
reinterpret_cast
. استخدام هذه القوالب يعني التخلص من كل نوع السلامة. هل هناك أي شيء يمكنني إضافته إلى تعريفات الفصل لجعل هذه المؤشرات يلقي ضمنيًا ، أو على الأقل عبارة التحويل بطريقة تسمح لي بالاستخدامstatic_cast
في حين أن؟
المحلول
حاول استخدام صفحة PageViewer WebPart!تم تصميمه لإظهار صفحة أخرى في ذلك (بشكل أساسي في IFRAME) الوثائق
لا تنتمي إلى StackOverflow