PC-lint di Gimpel non può tracciare puntatore penzoloni?
-
01-10-2019 - |
Domanda
Sto usando PC-lint9 per scoprire diversi errori di recente e davvero soffiare la mia mente, ma sembra PC-lint9 non può tracciare penzoloni puntatore, ecco un'istantanea dell'esame codice che ho con.
int* pkInt = new int;
int* pkDangInt = pkInt;
delete pkInt;
( *pkDangInt ) = 1;
non c'è nessun errore rilevato dal PC-Lint. Penso che ci possa essere qualcosa di sbagliato con la configurazione (non ho suppresss alcun errore e impostare il livello di allarme a 3) dal momento che la pubblicità dice: "Rilevazione della penzoloni e puntatori non inizializzate". qualcuno sa come risolvere questo?
Soluzione
Probabilmente la pubblicità deve essere letto come "Rilevazione della alcuni penzoloni ...". Il vecchio dilemma tra falsi positivi e falsi negativi ...
Ora, mi aspetto che si pensa che sia PC-lint ha intenzione di rilevare qualsiasi puntatore penzoloni a tutti, dovrebbe rilevare un tuo esempio, che è davvero piuttosto semplice. Ma forse il più strutturale una sotto è più facile e in effetti l'unico tipo rilevato. Potresti provare?
int* pkDangInt;
{
int x;
pkDangInt = &x;
}
( *pkDangInt ) = 1;