IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

probleme de pointeur avec une string


Sujet :

C++

  1. #1
    Membre confirm�
    Homme Profil pro
    �tudiant
    Inscrit en
    Septembre 2012
    Messages
    75
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Septembre 2012
    Messages : 75
    Par d�faut probleme de pointeur avec une string
    Bonjour a tous,

    Ma solution contient un projet LogTools qui devient une dll et un projet Test qui me sert a tester cette dll. Je suis sur Visual Studio 2008

    Dans ma solution test, j'ai :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
     
    int main()
    {
     
    	string c = "C:\\Users\\monNom\\Documents\\";
    	logTools.createLog(false,"","",0,c);
    Cote LogTools, y'a :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
     
    bool LogTools::createLog(bool man, std::string srvManName, std::string typeSrv, const int serverRank,  std::string repLogInfra)
    {	
    	repLogInfra = repLogInfra + "padidoum";

    J'obtiens :
    Unhandled exception at 0x000007fefd4b940d in TheTestingProject.exe: Microsoft C++ exception: std::bad_alloc at memory location 0x0012d3a0..

    En fait, je ne peux tout simplement pas acceder a ma valeur "repLogInfra".
    Si je passe ma souris sur la variable lors d'un debug comme on fait pour avoir la valeur, il m'indique <bad ptr>

    Je trouve ca tres etrange, vous auriez une idee ?

  2. #2
    Invit�
    Invit�(e)
    Par d�faut
    Salut,

    � premi�re vue, faut juste passer ton "repLogInfra" par r�f�rence si tu veux la modifier.

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    LogTools::createLog(bool man, std::string srvManName, std::string typeSrv, const int serverRank,  std::string repLogInfra)
    =>
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    
    LogTools::createLog(bool man, std::string srvManName, std::string typeSrv, const int serverRank,  std::string& repLogInfra)
    Modification � faire aussi dans le header of course

  3. #3
    Membre confirm�
    Homme Profil pro
    �tudiant
    Inscrit en
    Septembre 2012
    Messages
    75
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Septembre 2012
    Messages : 75
    Par d�faut
    Le probleme c'est que d'autres projets utilisent cette fonction tres bien. Je ne suis pas sense la changer.

    J'ai quand meme essaye ta solution mais elle m'a retourne l'erreur :

    Unhandled exception at 0x000007fefd4b940d in TheTestingProject.exe: Microsoft C++ exception: std::bad_alloc at memory location 0x0012d3e0..

    Edit : Merci de t'etre penche sur mon cas !

  4. #4
    Membre confirm�
    Homme Profil pro
    �tudiant
    Inscrit en
    Septembre 2012
    Messages
    75
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Septembre 2012
    Messages : 75
    Par d�faut
    Ca pourrait etre un probleme d'alignement non ?

  5. #5
    r0d
    r0d est d�connect�
    Membre exp�riment�

    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Ao�t 2004
    Messages
    4 299
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : Ao�t 2004
    Messages : 4 299
    Billets dans le blog
    2
    Par d�faut
    A mon avis le probl�me ne vient pas de cette string.
    En fait, le code suivant:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    void func( string str )
    {
       str = "toto"; 
    }
    n'est pas du tout faux, par contre il peut ne pas faire ce qui est attendu, dans le sens o� il ne modifie pas la variable pass�e en argument � la fonction. Ce que fait ce code, c'est qu'il cr�e une temporaire qui prend la valeur du param�tre, mais qui sera supprim�e en sortant de la port�e de la fonction.

    Non � mon avis, le probl�me vient d'ailleurs, peut-�tre au niveau de la dll. Le truc typique, sous windows: le .lib ne correspond pas � la dll (sous windows, il y a deux types de .lib: un qui contient un lib compil�e en statique, mais un autre qui fait officie de .def, qui ne contient que les adresses des fonctions compil�es dans le .dll).

  6. #6
    Membre confirm�
    Homme Profil pro
    �tudiant
    Inscrit en
    Septembre 2012
    Messages
    75
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Septembre 2012
    Messages : 75
    Par d�faut
    C'etait un horrible probleme de parametrage que quelqu'un a finalement reussi a resoudre.
    Existe t'il des tutos sur cette question ?

  7. #7
    r0d
    r0d est d�connect�
    Membre exp�riment�

    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Ao�t 2004
    Messages
    4 299
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : Ao�t 2004
    Messages : 4 299
    Billets dans le blog
    2
    Par d�faut
    �a d�pend de quelle question il s'agit. Le probl�me pouvait avoir mille causes diff�rentes.

Discussions similaires

  1. mon premier pas avec builder c++ problem avec une string grid
    Par chahinerue6 dans le forum C++Builder
    R�ponses: 5
    Dernier message: 30/01/2010, 21h42
  2. Problème de SMTP avec une passerelle Linux (iptables)
    Par moon06 dans le forum R�seau
    R�ponses: 4
    Dernier message: 29/07/2005, 11h59
  3. [System][EXEC] Probleme d'execution avec une commande parametrée.
    Par chicorico dans le forum G�n�ral Java
    R�ponses: 15
    Dernier message: 20/05/2005, 15h07
  4. R�ponses: 14
    Dernier message: 09/08/2004, 13h42
  5. Probleme de pointeur sur une fonction
    Par nicky78 dans le forum C
    R�ponses: 2
    Dernier message: 23/05/2004, 20h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo