﻿# V2001\. Consider using the extended version of the 'foo' function here\.

Данное диагностическое правило добавлено по просьбе пользователей\.

Анализатор позволяет обнаружить вызов функций, у которых существует "расширенный" аналог\. Под термином "расширенные" понимаются функции, имеющие суффикс Ex, такие как VirtualAllocEx, SleepEx, GetDCEx, LoadLibraryEx, FindResourceEx\.

Рассмотрим исходный код: 

```cpp
void foo();
void fooEx(float x);
void foo2();
...
void test()
{
  foo(); // V2001
  foo2(); // OK
}
```

В месте вызова функции "foo", будет выдано диагностическое сообщение V2001, так как имеется функция с тем же именем, но оканчивающаяся на "Ex"\. Функция "foo2" не имеет альтернативного варианта, и диагностическое сообщение выдаваться не будет\.

Сообщение V2001 будет также выдано для случая:

```cpp
void fooA(char *p);
void fooExA(char *p, int x);
...
void test()
{
  fooA(str); // V2001
}
```

Родственным диагностическим сообщением является [V2002](https://pvs-studio.ru/ru/docs/warnings/v2002/)\.