Данное диагностическое правило добавлено по просьбе пользователей.
Анализатор позволяет обнаружить вызов функций, у которых существует 'Ptr' аналог. Имеются в виду функции, имеющие в составе своего названия суффикс Ptr, такие как: SetClassLongPtr, DSA_GetItemPtr.
Рассмотрим исходный код:
void foo(int a); void fooPtr(int a, bool b); void foo2(); ... void test() { foo(1); // V2002 foo2(); // OK }
В месте вызова функции "foo", будет выдано диагностическое сообщение V2002, так как имеется функция с тем же именем, но оканчивающаяся на "Ptr". Функция "foo2" не имеет альтернативного варианта, и диагностическое сообщение выдаваться не будет.
Сообщение V2002 будет также выдано для случая:
void fooA(char *p); void fooPtrA(char *p, int x); ... void test() { fooA(str); // V2002 }
Родственным диагностическим сообщением является V2001.
Данная диагностика классифицируется как:
|