共用方式為


C6526

警告 C6526: 無效的大小規格: 運算式必須是陣列或指標型別

這則警告表示使用了不正確的資料型別指定屬性 (Property) 值。 屬性可能會支援所有的資料型別或其子集。 在上述情形中,為屬性所指定的值必須是陣列或指標型別。 如需附註屬性的清單,請參閱附註屬性

範例

下列程式碼會因為必須使用陣列或指標型別指定 WritableElementsLenght 的值,而產生這則警告:

// C
#include <CodeAnalysis\SourceAnnotations.h>
void f ([SA_Pre(WritableElementsLength="count")] char *ps, size_t count);

// C++
#include <CodeAnalysis\SourceAnnotations.h>
using namespace vc_attributes;
void f ([Pre(WritableElementsLength="count")] char *ps, size_t count);

為了更正這則警告,下列程式碼將 WritableELementsLength 的值設定為指標型別。 您可以藉由指定陣列或指標型別,指出 char *ps 的長度會等於 char*pt 的長度。

// C
#include <CodeAnalysis\SourceAnnotations.h>
void f ([SA_Pre(WritableElementsLength="pt")] char *ps, char *pt);

// C++  
#include <CodeAnalysis\SourceAnnotations.h>
using namespace vc_attributes;
void f ([Pre(WritableElementsLength="pt")] char *ps, char *pt);