Condividi tramite


C28039

avviso C28039: Il tipo di parametro effettivo <operand> deve corrispondere esattamente al tipo <typename>

Questo avviso viene solitamente visualizzato quando non è stato passato un membro dell'enumerazione a un parametro formale enum, ma può anche essere utilizzato per altri tipi.

Poiché C consente alle enumerazioni di essere utilizzate indifferentemente, e indifferentemente con le costanti, è facile passare il valore enum errato a una funzione senza un errore.

Per i tipi enum, se il tipo di un parametro di enumerazione è annotato con _Enum_is_bitflag_, l'aritmetica viene consentita sul parametro.In caso contrario il parametro deve essere esattamente del tipo corretto.Se una costante è strettamente necessaria, è possibile applicare anche l'avviso C28137.

Questa regola può essere utilizzata anche per altri tipi di parametro; si veda la documentazione della funzione sul motivo per cui i tipi devono corrispondere esattamente.