C6504

تحذير C6504: التعليق التوضيحي غير صالح: يمكن استخدام خاصية فقط تشغيل قيم مؤشر، المؤشر-إلى-عضو، أو صفيفة نوع

وهذا تحذير تشير إلى استخدام خاصية من نوع بيانات غير متوافقة. لمزيد من المعلومات حول أنواع بيانات المعتمدة من قبل الخصائص، راجع Annotation Properties.

مثال

يلي تعليمات برمجية ينشئ هذا التحذير لأنه لا يمكن استخدام خاصية خالية (Null) في charنوع بيانات. والسبب في حدوث ذلك لأنه Deref = 1 تشير إلى حرف/ حروف ومؤشر على أحرف لا:

// C
#include <CodeAnalysis\SourceAnnotations.h>
void f([SA_Pre(Deref=1, Null=SA_Yes)] char* pc);

// C++‎
#include <CodeAnalysis\SourceAnnotations.h>
using namespace vc_attributes;

void f([Pre(Deref=1, Null=Yes)] char* pc);

لحل هذا التحذير، قم بإزالة Deref = 1، كما هو موضح في نموذج تعليمات برمجية التالي:

// C
#include <CodeAnalysis\SourceAnnotations.h>
void f([SA_Pre(Null=SA_Yes)] char* pc);

// C++‎
#include <CodeAnalysis\SourceAnnotations.h>
using namespace vc_attributes;

void f([Pre(Null=Yes)] char *pc); 

تنشئ التعليمة البرمجية المعيبة المعروضة سابقا أيضا تحذير C6516لأن خاصية تعارضات نتج التعليق التوضيحي غير صالح.