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

SL & STL C++ Discussion :

pb de type string


Sujet :

SL & STL C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 13
    Par défaut pb de type string
    Bonjour à tous,

    Je débute en c++ et je suis confronté au problème suivant : lors de la compilation de mon fichier .cxx, un erreur se produit à la ligne où j'ai déclaré un string "error : crosses initialization of 'std::string toto'.

    Mon code de déclaration d'un string est le suivant

    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
     
    #include <iostream>
    #include <cstdio>
    #include <string>
    ...
     
    using std::cout;
    using std::endl;
    using std::cin;
    using std::string;
     
    main()
    {
    ...
    string toto;
    ...
    }
    Je ne vois pas où peut être l'erreur.

    Merci de m'aider

  2. #2
    Membre chevronné Avatar de xxiemeciel
    Inscrit en
    Juin 2005
    Messages
    371
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 371
    Par défaut
    Salut,

    le point virgule qui manque c juste dans le post ou c'est aussi dans le code ?

    XXiemeciel

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 13
    Par défaut
    salut,

    Le point virgule manquant c'est juste dans le post.

  4. #4
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Il n'y aurait pas un switch ou un goto dans les parages ? On peut voir plus de code ?

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 13
    Par défaut
    Voilà le code. En effet, j'ai un switch mais j'ai eu le même problème sur d'autres programmes sans switch.

    L'erreur est au cas n°7 "string fichier".

    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
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
     
    #include <iostream> // Pour utliser des objets fluxs (cout, cin, cerr)
    #include <cstdio>
    #include "screen.h"
    #include <string>
     
    using std::cout;
    using std::endl;
    using std::cin;
    using std::string
     
    main()
    {
    int result;
     
    	// Création d'un menu
    	cout << "MENU \n 1 - Fonction Cls \n 2 - Fonction Gotoxy \n 3 - Fonction Setcolors \n 4 - Fonction PutC \n 5 - Fonction Putlig \n 6 - Fonction Putcol \n 7 - Lire un fichier \n \n Choix : ";
     
    	// Choix
    	cin >> result;
     
    	switch (result)
    	{
     
    		case 1 :
    			//-------------------------Effacement----------------------------//
    			// Appel de la fonction cls
    			cls() ;
    			break;
     
    		case 2 :
    			//----------------------Ligne   Colonne--------------------------//
    			// Déclaration des variables
    			int lig, col;
     
    			cout << "Ligne : ";
    			cin >> lig;
     
    			cout << "Colonne : ";
    			cin >> col;
     
    			// Appel de la fonction gotoxy
    			gotoxy(lig, col);
     
    			break;
     
    		case 3 :
    			//------------------ Style - Couleur - Fond----------------------//
    			// Déclaration des variables
    			int style, color, fond;
     
    			cout << "Choisir un style : ";
    			cin >> style;
     
    			cout << "Choisir une couleur de texte : ";
    			cin >> color;
     
    			cout << "Choisir une couleur de fond : ";
    			cin >> fond;
     
    			// Appel de la fonction setcolors
    			setcolors(style, color, fond);
     
    			break;
     
    		case 4 :
    			//--------------------------Putc------------------------------//
    			// Déclaration des variables
    			char chaine;
    			int ligp, colp;
     
    			cout << "Saisir une ligne : ";
    			cin >> ligp;
     
    			cout << "Saisir une colonne : ";
    			cin >> colp;
     
    			cout << "Saisir un caractère : " ;
    			cin >> chaine;
     
    			// Appel de la fonction
    			putC(chaine, ligp, colp);
     
    			break;
     
    		case 5 :
    			//--------------------------PutLig-----------------------------//
    			// Déclaration des variables
    			char chaineB;
    			int ligB, colB, sizeB;
     
    			cout << "Saisir une ligne : ";
    			cin >> ligB;
     
    			cout << "Saisir une colonne : ";
    			cin >> colB;
     
    			cout << "Saisir une taille : ";
    			cin >> sizeB;
     
    			cout << "Saisir une chaine de caractère : " ;
    			cin >> chaineB;
     
    			// Appel de la fonction
    			putlig(chaineB, ligB, colB, sizeB);
     
    			break;
     
    		case 6 :
     
    		//--------------------------PutLig-----------------------------//
    			// Déclaration des variables
    			char chaineC;
    			int ligC, colC, sizeC;
     
    			cout << "Saisir une ligne : ";
    			cin >> ligC;
     
    			cout << "Saisir une colonne : ";
    			cin >> colC;
     
    			cout << "Saisir une taille : ";
    			cin >> sizeC;
     
    			cout << "Saisir une chaine de caractère : " ;
    			cin >> chaineC;
     
    			// Appel de la fonction
    			putcol(chaineC, ligC, colC, sizeC);
     
    			break;
     
     
    		case 7 :
    		//--------------------------Lire-----------------------------//
     
    			string fichier;
     
    			cout << "Saisir un nom de fichier : ";
    			cin >> fichier;
    			// Appel de la fonction de lecture d'un fichier
    			lire(fichier);
     
    		default : break;
     
    	}
    }
    Merci de votre aide

  6. #6
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Tu n'as pas le droit de déclarer une variable dans un switch de cette manière. La raison est la suivante : c'est une portion de code qui ne sera pas nécessairement executée, donc bien que déclarée ta variable sera potentiellement utilisable sans être passé par sa construction. Enfin quelque chose de ce genre, quoi.

    Bref la solution est de restreindre sa portée, par exemple avec un bloc d'accolades.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    case 7 :
    {
          //--------------------------Lire-----------------------------//
     
             string fichier;
     
             cout << "Saisir un nom de fichier : ";
             cin >> fichier;
             // Appel de la fonction de lecture d'un fichier
             lire(fichier);
    }
     
          default : break;

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 13
    Par défaut
    Merci pour ton aide, j'ai rectifié mon erreur et ça marche.

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

Discussions similaires

  1. [CR] les champs de type string
    Par yvescollet dans le forum SAP Crystal Reports
    Réponses: 4
    Dernier message: 05/10/2004, 16h29
  2. Type String* en paramètre...
    Par Invité dans le forum MFC
    Réponses: 4
    Dernier message: 24/02/2004, 19h48
  3. Convertir une date en type string
    Par ziboux dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 29/10/2003, 10h52
  4. [VB6] creation de variable de type string dynamiquement
    Par da40 dans le forum VB 6 et antérieur
    Réponses: 10
    Dernier message: 12/06/2003, 16h59
  5. Réponses: 2
    Dernier message: 05/06/2002, 12h29

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