Sdílet prostřednictvím


C28164

upozornění C28164: Argument je předáván funkci, která očekává ukazatel na objekt (ne ukazatel na ukazatel)

Toto upozornění je nahlášeno při použití ukazatele na ukazatel v rámci volání funkce, která očekává ukazatel na objekt.

Funkce v této pozici přebírá PVOID.Obvykle to znamená, že bylo použito &pXXX v době, kdy byl vyžadován pXXX.

Některé polymorfní funkce (funkce, které slouží k evaluaci a aplikaci na hodnoty různých typů) jsou implementovány v jazyce C pomocí argumentu PVOID, který přebírá libovolný typ ukazatele.To však umožňuje programátorovi naprogramovat ukazatel na ukazatel, aniž by došlo k chybě při kompilaci, i když není tento typ vhodný.

Příklad

Následující ukázka kódu generuje toto upozornění:

PFAST_MUTEX pFm;
...
KeWaitForSingleObject(&pFm, UserRequest, UserMode, false, NULL);

Následující ukázka kódu předchází tomuto upozornění:

PFAST_MUTEX pFm;
...
KeWaitForSingleObject(pFm, UserRequest, UserMode, false, NULL);