Question

Je me sers de PC-lint9 pour découvrir les différentes erreurs récemment et il a vraiment souffler mon esprit, mais il semble PC-lint9 ne peut pas tracer pointeur ballants, voici aperçu de l'examen du code I avec.

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

il n'y a pas d'erreur détectée par PC-Lint. Je pense qu'il peut y avoir quelque chose de mal avec la configuration (je ne suppresss aucune erreur et définissez le niveau d'alerte à 3) depuis l'annonce dit: « La détection des ballants et des pointeurs non initialisées ». quelqu'un sait comment résoudre ce problème?

Était-ce utile?

La solution

Probablement la publicité doit être lu comme "la détection de certains ballants ...". Le vieux dilemme entre les faux positifs et de faux négatifs ...

Maintenant, je vous attends à penser que c'est PC-lint va détecter tout pointeur ballants du tout, il doit détecter un votre exemple, ce qui est en effet assez simple. Mais peut-être le plus structurel celui ci-dessous est plus facile et en fait le seul type détecté. Pourriez-vous essayer?

int* pkDangInt;
{
  int x;
  pkDangInt = &x;
}
( *pkDangInt ) = 1;
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top