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

MFC Discussion :

Methode renvoyant un CString


Sujet :

MFC

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Ao�t 2002
    Messages
    41
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2002
    Messages : 41
    Par d�faut Methode renvoyant un CString
    Bonjour � tous

    J'ai une fonction (pardon... "m�thode" )

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    CString CMaClasse::GetDefaultName()
    {
    	CString str;
    	CTime time;
    	time.GetCurrentTime();
    	str.Format(_T("%4.d%2.d%2.d%2.d%2.d%2.d"), time.GetYear, time.GetMonth, time.GetDay, 
    		time.GetHour, time.GetMinute, time.GetSecond);
    	return str;
    }
    Or, quand je fais:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    CString str;
    str = GetDefaultName;
    ... le m�ssieur de la machine me dit error C2679: binary '=' : no operator defined which takes a right-hand operand of type 'class CString (__cdecl CBMSudokuGridsList::*)(void)' (or there is no acceptable conversion) pour la ligne d'affectation de str ! Je pr�cise que sans cette ligne, tout lui convient !

    A l'aiiiide !

    ...et merci

  2. #2
    R�dacteur
    Avatar de farscape
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par d�faut
    salut,
    si c'est une m�thode...
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
     
    CString str;
    str = GetDefaultName();
    il manque les parenth�ses

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Ao�t 2002
    Messages
    41
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2002
    Messages : 41
    Par d�faut
    Salut farscape

    Je suis d'accord, cependant - en attendant de faire l'essai ce soir -, lorsque j'oublie des parenth�ses dans le cas d'une m�thode ne demandant pas d'arguments, le debogueur m'envoie seulement un "warning" pour me dire que �a serait mieux d'en mettre . Or l�, je n'ai que ce message d'erreur. Donc, il doit s'agir d'autre chose Quoiqu'il en soit, je corrige �a d�s que je peux, des fois que le message soit diff�rent

    Donc, sujet toujours ouvert, sachant que je continue de chercher... et peut �tre de trouver

  4. #4
    R�dacteur
    Avatar de farscape
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par d�faut
    une m�thode (avec des arguments ou non ) a toujours des parenth�ses sinon le nom est consid�r� comme une variable..
    note que l'appel � ta fonction doit �tre situ� dans une m�thode de ta classe
    CMaClasse... d'ailleurs ton message d'erreur fait r�f�rence a une autre classe CBMSudokuGridsList doit a mon avis tu t'embrouilles avec des m�thodes portant le m�me nom dans des classes diff�rentes..


  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Ao�t 2002
    Messages
    41
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2002
    Messages : 41
    Par d�faut
    En ce qui concerne le nom de la classe, j'avais bien s�r pris un nom "bidon" dans la citation de mon code, pour simplifier, sauf que je n'avais pas corrig� le message d'erreur de la m�me fa�on

    Sinon, dans le cas g�n�ral, lorsqu'il ne reconna�t pas un "identifiant" - donc s'il cherchait une variable GetDefaultName, il me donnerait un tout autre message, - comme cel� m'est d�j� arriv�, tu t'en doutes -. Donc, � mon avis, il voit bien que je parle de ma m�thode, mais peut-�tre que, dans le cas du retour d'un CString, l'oubli des parenth�ses lors de l'appel n'est plus tol�r� comme il l'est dans le cas d'un int, par exemple, comme je le dis dans mon pr�c�dent message. J'essaye donc ce soir, en te tenant au courant bien s�r (et tous ceux qui s'occuperaient de mon cas)

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Ao�t 2002
    Messages
    41
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2002
    Messages : 41
    Par d�faut
    ...apr�s essais... concluants, puis quelques simulations, voici mes observations :

    - lorsqu'on appelle une m�thode de type void ne demandant aucun param�tre en ommettant les parenth�ses, on obtient du compilateur le simple avertissement suivant :
    warning C4551: function call missing argument list
    ...sachant que cela ne l'emp�che pas de compiler et de produire un EXE totalement op�rationnel.

    - lorsqu'en revanche on appelle une m�thode "non-void" ne demandant aucun param�tre en ommettant les parenth�ses, on obtient du compilateur le message d'erreur suivant :
    error C2440: 'initializing' : cannot convert from 'int (__cdecl *)(void)' to 'int'
    ...l'emp�chant de poursuivre la compilation !

    En fait c'est exactement le message que j'obtenais, sauf que la fonction de ce matin ramenait un CString et celle de mon test un int (d'ailleurs, depuis que j'ai mis les parenth�ses � mon GetDefaultName... �a marche beaucoup mieux )

    Curieux, cette diff�rence de r�action au m�me type d'erreur de syntaxe

    Donc merci � farscape pour sa patience, et j'esp�re que ce post sera utile � d'autres qui pourraient �tre confront� � ce genre de chose.

    A+

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [D�butant] Methode renvoyant un array
    Par mickmix69 dans le forum VB.NET
    R�ponses: 2
    Dernier message: 10/11/2011, 13h01
  2. R�ponses: 5
    Dernier message: 27/03/2008, 15h54
  3. Faire renvoyer une valeur 'true' par une methode ?
    Par patthepat dans le forum Ruby on Rails
    R�ponses: 3
    Dernier message: 10/05/2007, 05h51
  4. [VB6] [Syntaxe] Fonction renvoyant un tableau d'objets
    Par Troopers dans le forum VB 6 et ant�rieur
    R�ponses: 2
    Dernier message: 18/10/2002, 15h33
  5. fonction renvoyant un tableau en argument
    Par Jones dans le forum Langage
    R�ponses: 6
    Dernier message: 30/09/2002, 18h20

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