Je programmait une application en C++ Builder 6, et je l'avais rencontré ce problème rare:Pourquoi le compilateur ne compile pas de ligne dans C++ Builder?
void RotateDice()
{
Graphics::TBitmap *MYbitmap = new Graphics::TBitmap();
Randomize();
int rn = random(6) + 1;
switch (rn)
{
case 1:
{
//...
break;
}
//... Some cases...
}
ShowDice(); //it's a function to show the dice
delete MYbitmap; //the compiler don't get it!!!!
}
Dans la ligne "ShowDice()", le compilateur saute à la finale de la méthode RotateDice(), il ne "voit" pas la ligne "supprimer MYbitmap". Quand je compile le programme, chaque ligne compilée montre un petit point bleu sur son côté gauche, mais cette ligne ne montre pas le point bleu ... c'est comme si le compilateur ne "voyait" pas la ligne de code. Qu'est-ce qui se passe avec ça?
Note: Il y a quelques jours, j'écrivais un programme en Delphi et je conseillais sur ce problème. Certains comme ça m'est arrivé à Delphi 7 ... Alors, quel est le problème avec ça?
Je suis tellement désolé pour mon anglais. Je suis de Cuba.
Remplacer la ligne « supprimer MyBitMap » avec Cout << « quelque chose », exécutez votre programme et vérifiez si vous voyez ce message dans la console. Si vous le voyez alors le problème est avec le débogueur, pas le compilateur, et vous ne devriez pas trop vous inquiéter. Si vous ne voyez pas le message, vous devriez obtenir un meilleur compilateur. – Manuel
Veuillez montrer le code dans ShowDice. –
Avez-vous compilé avec des optimisations? – Bill