2010-09-09 21 views
1

J'utilise PC-lint9 pour trouver différentes erreurs récemment et ça me fait vraiment peur, mais il semble que PC-lint9 ne puisse pas tracer le pointeur qui pend, voici l'instantané du code que j'examine.La fibre de PC de Gimpel ne peut pas tracer le pointeur pendante?

int* pkInt = new int; 
int* pkDangInt = pkInt; 
delete pkInt; 
(*pkDangInt) = 1; 

aucune erreur n'est détectée par PC-Lint. Je pense qu'il peut y avoir quelque chose qui ne va pas avec la configuration (je n'ai supprimé aucune erreur et mettre le niveau d'avertissement à 3) puisque la publicité dit: "Détection des pointeurs suspendus et non initialisés". quelqu'un sait comment résoudre ce problème?

Répondre

0

Probablement la publicité doit être lu comme "Détection de certains pendants ...". Maintenant, je pense que vous pensez que PC-lint va détecter n'importe quel pointeur, il devrait détecter votre exemple, qui est en effet plutôt simple. Mais peut-être le plus structurel ci-dessous est plus facile et en effet le seul type détecté. Pourriez-vous l'essayer?

int* pkDangInt; 
{ 
    int x; 
    pkDangInt = &x; 
} 
(*pkDangInt) = 1; 
+0

merci Cuoq. Maintenant, je peux essayer d'une autre façon au lieu d'essayer de comprendre comment le faire fonctionner. – eddielu

+0

@Ira Oups, mon exemple était faux. Merci de l'avoir signalé. –