سؤال

يمكنني منع العديد من التحذيرات في Visual Studio 2005 SP1 في صفحة خصائص C/C++ Advanced، مما يجعل IDE يستخدم رمز التبديل /wd في سطر الأوامر الذي يستدعي المحول البرمجي.ومع ذلك، عندما أحاول منع التحذير 4200 (الملحق غير القياسي المستخدم:صفيف بحجم صفر في البنية/الاتحاد)، فإنه لا يزال يظهر عندما أقوم بالتجميع.(بالطبع هذا مبرر؛أنا لست في وضع يسمح لي بإصلاح الكود، ولا يستحق الأمر الإزعاج، لأن لقد تم إنشاؤه, ، والتحذير سليم تمامًا في ظل هذه الظروف.) هل يعرف أي شخص ما إذا كان هذا خطأ في المترجم؟أو قد يكون هناك شيء يمكنني القيام به حيال ذلك؟

هل كانت مفيدة؟

المحلول

هل تعني مثل مع PRAGMA ؟

#pragma warning( disable : 2400 )

نصائح أخرى

لتعطيل التحذير الموجود في الملف بشكل كامل يمكنك إضافة ما يلي إلى أعلى الملف

#pragma warning(disable:2400)

إذا كنت تريد المزيد من المرونة بخلاف التعطيل الشامل للملف، فإن الصفحة التالية تسرد العديد من الخيارات الأخرى الدقيقة.

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

يحرر

ذكر OP أنهم لا يستطيعون التحكم في الكود الذي تم إنشاؤه حتى لا يتمكنوا من تضمين البراغما مباشرة.إذا كان الأمر كذلك، فجرّب هذه الخدعة.لنفترض أن اسم الملف هو Generated.cpp.لم يعد يتم تضمين Generated.cpp كأحد الملفات التي سيتم تجميعها.بدلاً من ذلك، قم بإنشاء ملف جديد يسمى example.cpp بالمحتويات التالية

#pragma warning(disable:2400)
#include "Generated.cpp"

ستحصل الآن على نص Generated.cpp مع تحذير التعطيل عن طريق تجميع example.cpp فقط.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top