Udostępnij za pośrednictwem


C6388

Ostrzeżenie C6388: <argument> nie może być <value>: nie pasuje to do specyfikacji funkcji <function name>: linie: x, y

To ostrzeżenie wskazuje, że w określonym kontekście używana jest nieoczekiwana wartość.Zazwyczaj jest to zgłoszone dla wartości przekazywanych jako argumenty do funkcji, która tego nie oczekuje.

Przykład

Poniższy kod języka C++ generuje to ostrzeżenie, ponieważ DoSomething oczekuje wartości null, ale potencjalnie niezerowa wartość może być przekazana:

#include <string.h>
#include <malloc.h>
#include <sal.h>

void DoSomething( _Pre_ _Null_ void* pReserved );

void f()
{
    void* p = malloc( 10 );
    DoSomething( p );  // Warning C6388
    // code...
    free(p);
}

Aby poprawić to ostrzeżenie, należy użyć przykładowego kodu:

#include <string.h>
#include <malloc.h>
#include <sal.h>

void DoSomething( _Pre_ _Null_ void* pReserved );
void f()
{
    void* p = malloc( 10 );
    if (!p)
    {
        DoSomething( p );  
    }
    else
    {
        // code...
        free(p);
    }
}

Zobacz też

Inne zasoby

Omówienie adnotacji