Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
avviso C6065: puntatore mancante all'argomento 'tipo stringa' a 'function' che corrisponde all'argomento 'number'
Osservazioni:
Questo avviso indica che esiste una mancata corrispondenza tra gli identificatori di formato in una stringa e i tipi dei parametri associati. L'identificatore di formato indica che almeno uno degli argomenti non corrispondenti deve essere un puntatore a una stringa con conteggiata, UNICODE_STRING ad esempio o ANSI_STRING ma non. Questo difetto può causare arresti anomali, overflow del buffer e output potenzialmente non corretto.
Per correggere questo avviso, determinare se l'identificatore di formato o l'argomento corrisponde al comportamento previsto e modificare l'altro in modo che corrisponda. Quando si modifica l'identificatore di formato per una stringa con conteggiata, è consigliabile usare in modo esplicito il prefisso delle dimensioni, %wZ ad esempio o %hZ anziché %Z a causa di problemi di compatibilità tra runtime C (CRT). Per altre informazioni sulla compatibilità CRT, vedere la %Z riga nella documentazione relativa ai caratteri dei campi tipo.
Nome dell'analisi del codice: MISSING_COUNTED_STRING_ARGUMENT_TO_FORMAT_FUNCTION
Esempio
Il codice seguente genera questo avviso perché il valore passato a printf non è un puntatore:
int PrintDiagnostic(UNICODE_STRING u)
{
printf("%wZ", u);
}
In questo esempio viene corretto l'avviso modificando il parametro passato come puntatore:
int PrintDiagnostic(UNICODE_STRING u)
{
printf("%wZ", &u);
}
Vedi anche
sintassi delle specifiche di formato: funzioni printf e wprintf
sprintf_s, _sprintf_s_l, swprintf_s, _swprintf_s_l
UNICODE_STRING
ANSI_STRING/_STRING
C4313