Je suis tout à fait nouveau dans le monde des pointeurs en C/C++ donc cela peut être tout à fait une question facile pour vous:en utilisant le pointeur int dans plusieurs Couts
Le C suivant ++ - code fonctionne normalement
#include <iostream>
int main()
{
int theInt = 1337;
int & theReference = theInt;
int * thePointer = &theInt;
std::cout << "int: " << theInt << "\n";
std::cout << "referenz: " << theReference << "\n";
std::cout << "pointer: " << *thePointer << "\n";
std::cout << "pointer: " << *thePointer << "\n";
//std::cout << "foo" << "\n";
return 0;
}
mais cesse de fonctionner lors du changement
//std::cout << "foo" << "\n";
à
std::cout << "foo" << "\n";
. Par "arrête de travailler" je veux dire: "est bloqué par ma sécurité norton comme une menace potentielle" (résultant en un code de retour de "0x76F531AF" si cela aide). Comme norton n'interfère normalement pas avec ma programmation, je suppose que la double utilisation du pointeur int dans cout se traduit d'une manière ou d'une autre par une erreur de segmentation ...
Merci pour votre aide!
PS:
J'utilise Code :: Blocks sous Windows 8.1 avec le compilateur GCC et GDB débogueur de TDM-GCC (version 4.7.1, 32 bits).
EDIT: suppression de la suppression du pointeur -> le problème persiste.
'delete thePointer' n'est nécessaire que lorsque vous avez fait' int * thePointer = new int' alors veuillez l'enlever – nodakai
J'ai supprimé la ligne, le problème persiste. – MtDoom
Vous exécutez peut-être une ancienne version de votre binaire de sortie par hasard? Avez-vous vérifié Release/Debug config etc? Votre IDE a-t-il une commande "propre"? Je demande ceci parce qu'il n'y a rien de mal avec votre code après que vous ayez enlevé 'delete thePointer'. – nodakai