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 :

[Syntaxe] error C2015: too many characters in constant


Sujet :

C++

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 26
    Points : 24
    Points
    24
    Par défaut [Syntaxe] error C2015: too many characters in constant
    je suis entrain de creer une pile chainée et lorsque j'appele ce model de classe avec un type char j'obtient l'erreur suivant
    error C2015: too many characters in constant

    voila mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    #include <iostream.h>
    /**************** Classe Pile ********************/
    template <class typ>
    class pile
    {
    	struct noeud
    {
    	friend class pile;
    	typ val;
    	noeud *pre;
    };
    	noeud *sommet;
    public:
    	pile<typ>();
    	void push(typ);
     
    };
     
    /**************** Constructeur Pile ********************/
    template <class typ>
    pile<typ>::pile()
    {
    	sommet=NULL;
    }
     
    /**************** Push Pile ********************/
    template <class typ>
    void pile<typ>::push(typ a)
    {
    	noeud *nouv = new noeud[4];
    	nouv->val=a;
    	nouv->pre=sommet;
    	sommet=nouv;
    }
     
    /**************** MAIN ********************/
    void main()
    {
    	pile<char> p2;
    	p2.push('gfdgf');
    	cout << "bonjour";
     
    }
    et merci d'avance ...........

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 294
    Détails du profil
    Informations personnelles :
    Localisation : Royaume-Uni

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 294
    Points : 1 543
    Points
    1 543
    Par défaut
    Salut,

    'gfdgf' n'est pas un caractère...

    MAT.

  3. #3
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 629
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 629
    Points : 30 692
    Points
    30 692
    Par défaut
    Salut,

    Le type char, c'est le type qui permet de maintenir une valeur qui permette d'afficher les différentes lettres et chiffres de l'alphabet (plus une série d'autres choses)...

    'a', 'g', 's' sont de type char, mais, 'ags' en est une succession...

    du coup, ags devient... une chaine de caractere, et on peut l'envisager de deux manières:
    • à la C style: comme étant un tableau de caractères, que l'on peut manipuler au travers d'un char*
    • à la C++ Style: comme un objet de la classe std::string (qui fournit d'ailleurs aussi une méthode permettant de récupérer un const char* )

    Quoi qu'il en soit, une chaine de caractère doit etre définie entre guillemets( " )... l'appostrophe( ' ) étant réservée pour quand il n'y a qu'un seul caractère

    Ainsi, pour introduire la chaine "ags" dans ta pile, tu peux, au choix:
    • introduire chaque caractère séparément et manuellement
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      4
      5
       
      pile<char> p2;
      p2.push('a');
      p2.push('g');
      p2.push('s);
    • créer une boucle qui va s'en charger, et là encore, il y a deux solutions
      • la solution C style
        Code : Sélectionner tout - Visualiser dans une fenêtre à part
        1
        2
        3
        4
        5
        6
        7
        8
        9
         
        pile<char> p2;
        char *str="abscderg";
        unsigned int i=0;
        while(str[i]!='\0')
        {
            p2.push(str[i]);
            ++i;
        }
      • utiliser la classe std::string (ce qui est préférable)
        Code : Sélectionner tout - Visualiser dans une fenêtre à part
        1
        2
        3
        4
        5
        6
        7
        8
        9
        10
        pile<char> p2;
        std::string str="bonjour tout le monde";
        /* pourrait tres bien pendre la forme de
            std::cout<<"veuillez introduire la chaine à passer dans la pile: ";
            std::cin>>str;
          */
        for(unsigned int i=0;i<str.size();i++)
        {
            p2.push(str[i]);
        }

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 26
    Points : 24
    Points
    24
    Par défaut merci
    merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Syntax error converting datetime from character string
    Par amirad dans le forum Développement
    Réponses: 6
    Dernier message: 15/05/2009, 10h09
  2. Réponses: 2
    Dernier message: 26/06/2007, 23h49
  3. [MySQL] ERROR connect: Too many connections
    Par mdjalel dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 20/11/2006, 18h19
  4. Errors: too many characters in constant
    Par beb30 dans le forum C
    Réponses: 2
    Dernier message: 03/04/2006, 16h46
  5. erreur: too many characters in constant...
    Par miminou dans le forum C++
    Réponses: 4
    Dernier message: 23/11/2005, 11h37

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