FIX: يحدث خطأ C2555 عند ترجمة التعليمات البرمجية باستخدام Visual C++ .NET 2003

هام: تمت ترجمة هذا المقال باستخدام برنامج ترجمة آلية لشركة مايكروسوفت بدلاً من الاستعانة بمترجم بشري. تقدم شركة مايكروسوفت كلاً من المقالات المترجمة بواسطة المترجمين البشر والمقالات المترجمة آليًا وبالتالي ستتمكن من الوصول إلى كل المقالات الموجودة في قاعدة المعرفة الخاصة بنا وباللغة الخاصة بك. بالرغم من ذلك، فإن المقالة المترجمة آليًا لا تكون دقيقة دائمًا وقد تحتوي على أخطاء إملائية أو لغوية أو نحوية، مثل تلك الأخطاء الصادرة عن متحدث أجنبي عندما يتحدث بلغتك. لا تتحمل شركة مايكروسوفت مسئولية عدم الدقة أو الأخطاء أو الضرر الناتج عن أية أخطاء في ترجمة المحتوى أو استخدامه من قبل عملائنا. تعمل شركة مايكروسوفت باستمرار على ترقية برنامج الترجمة الآلية

839998
تمت أرشفة هذه المقالة. وتظهر "كما هي" ولن يتم تحديثها بعد الآن.
الأعراض
عند إنشاء أحد تطبيقات باستخدام Microsoft Visual C++ .NET 2003، إذا استخدم فئة متداخلة في فئة مشتقة المحول البرمجي بإنشاء خطأ C2555. عند حدوث هذه المشكلة، تظهر رسالة خطأ مشابهة للرسالة التالية:
خطأ C2555: 'Dervied::NestedDerived::GetEditObject': تجاوز دالة الظاهري بإرجاع نوع يختلف وهو ليس طردي من ' Base::NestedBase:: GetEditObject '
تحدث هذه المشكلة في حالة اشتقاق فئة المتداخلة التي تستخدمها في فئة مشتقة من فئة متداخلة في الفئة الأساسية. وتشير رسالة الخطأ هذه أنواع الإرجاع غير طردي. على الرغم من ذلك، تكون أنواع الإرجاع طردي.
الحل
يتوفر الآن إصلاح جديد معتمد من Microsoft ولكن الغرض منه هو حل المشكلة الموضحة في هذه المقالة فقط. فقط تطبيقه على الأنظمة التي تواجه هذه المشكلة بالتحديد. قد يتم إجراء اختبارات إضافية على هذا الإصلاح العاجل. ولذلك، إذا لم يكن تأثير هذه المشكلة كبيرًا، نوصي بالانتظار حتى الإصدار التالي Microsoft Visual Studio .NET 2003 والذي يحتوي على هذا الإصلاح العاجل.

لحل هذه المشكلة فورًا، اتصل بخدمات دعم المنتجات في Microsoft "للحصول على الإصلاح العاجل. للحصول على قائمة كاملة بأرقام الهاتف الخاصة بخدمات دعم منتج Microsoft وعلى معلومات حول تكاليف الدعم، قم بزيارة موقع Microsoft التالي على الويب:ملاحظة في بعض الحالات، قد يتم إلغاء المصروفات التي تُحتسب عادةً على مكالمات الدعم إذا قرر إخصائي الدعم لدى Microsoft أن تحديثًا معينًا سوف يعمل على حل المشكلة. سيتم تطبيق تكاليف الدعم المعتادة على أسئلة الدعم الإضافية والمشكلات التي لا يعمل على حلها هذا التحديث.

يحتوي إصدار اللغة الإنجليزية من هذا الإصلاح العاجل على سمات الملف (أو الأحدث) المسرودة في الجدول التالي. يتم سرد التواريخ والأوقات الخاصة بهذه الملفات بالتوقيت العالمي coordinated (UTC). عندما تقوم بعرض معلومات الملف، يتم تحويلها إلى التوقيت المحلي. لمعرفة الفرق بين التوقيت العالمي (UTC) والتوقيت المحلي، استخدم علامة التبويب المنطقة الزمنية في أداة التاريخ والوقت في "لوحة التحكم".
   Date         Time   Version       Size       File name   ------------------------------------------------------   01-Apr-2004  01:12  13.10.4092.0    933,888  C1.dll   01-Apr-2004  01:13  13.10.4092.0  2,207,744  C1xx.dll   01-Apr-2004  07:49  13.10.4092.0  1,966,080  Feacp.dll   01-Apr-2004  01:20                    5,342  Feacp.lib
تصريح
أقرت Microsoft أن هذه مشكلة في منتجات Microsoft المسردة في قسم "تنطبق على".
معلومات أخرى
لإنتاج هذه المشكلة ترجمة نموذج التعليمات البرمجية التالي:
//test.cpp//cl test.cpp//Error C2555class Base { public:         class NestedBase        {         public:                 virtual Base *   GetEditObject ();         };         virtual NestedBase*        Edit () ; }; class Derived : public Base{ public:         class NestedDerived : public NestedBase        {         public:                 virtual Derived*    GetEditObject();         };         virtual NestedDerived*        Edit () ; }; 
أنت تظهر رسالة الخطأ التالية:
nest.cpp(21): خطأ C2555: 'Dervied::NestedDerived::GetEditObject': تجاوز دالة الظاهري بإرجاع نوع يختلف وهو ليس طردي من ' Base::NestedBase:: GetEditObject ' nest.cpp(9): راجع تعريف 'معارف:: NestedBase::GetEditObject'
للحصول على معلومات إضافية حول المصطلحات المستخدَمة في وصف تحديثات منتج Microsoft، انقر فوق رقم المقالة التالي لعرضها في "قاعدة المعارف لـ Microsoft:
824684وصف للمصطلحات القياسية المستخدمة في وصف تحديثات برامج Microsoft

تحذير: تمت ترجمة هذا المقال تلقائياً

خصائص

رقم الموضوع: 839998 - آخر مراجعة: 01/17/2015 09:05:52 - المراجعة: 4.0

  • Microsoft Visual C++ .NET 2003 Standard Edition
  • kbnosurvey kbarchive kbmt kbvsnet2003presp1fix kbfix kbbug kbqfe kbhotfixserver KB839998 KbMtar
تعليقات