Problème avec typedef qui produit une erreur C2143

Mourad2009B Messages postés 145 Statut Membre -  
mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour à tous,
Donc voila mon problème est très simple à expliqué, je travaille avec QtCreator 3.5.1 basé sur Qt 5.5.1 sous windows 7,
j'ai déclaré 2 variables :
typedef std::vector <QPointF> polyligne;
typedef std::vector <polyligne> multipolyligne;

sous le compilateur mingw ça passe très bien mais sous vc, il me sort les erreurs suivantes
D:\Utilisateurs\perso\Programmation\Shapelib_test\shapelib_test\fenetreprinc.cpp:329: erreur : C2143: erreur de syntaxeÿ: absence de ';' avant '.'
D:\Utilisateurs\perso\Programmation\Shapelib_test\shapelib_test\fenetreprinc.cpp:333: erreur : C2143: erreur de syntaxeÿ: absence de ';' avant '.'

Merci d'avance pour votre aide

1 réponse

  1. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 940
     
    Ce ne sont pas des variables, mais des types que tu as déclaré. Ensuite pour ton erreur il nous faudrait le contenu des lignes 329 et 333 en question.

    Bonne chance
    0
    1. Mourad2009B Messages postés 145 Statut Membre 1
       
      Merci mamiemando mais en fait je les ai utilisées comme variables oui
      polyligne.push_back(...);

      au lieu de créer une variable
      comme ce-ci
      polyligne maPolyline;

      en tout cas merci beaucoup
      Par contre j'ai un autre soucis SVP
      je veux éviter l'affichage sous forme exponentiel des nombres exemple : 1 000 000 qui s'écrit sous la forme 1e+06,
      0
    2. Mourad2009B Messages postés 145 Statut Membre 1
       
      Bonjour mamiemando,
      merci pour ta réponse, effectivement j'ai résolu le premier problème dans le forum QtFr, par contre pour le deuxième problème, je travaille avec le framwork Qt
      en fait tout ce que je veux c'est de prendre
      long a = 1555555555555555589,

      quand je l'affiche
      ui.textEdit(QString::number(a);

      il affiche 1.55555556e6 admetons
      ce que je veux moi c'est qu'il affiche 1555555555555555589 tout simplement
      donc je ne travaille pas avec les cout et les flux
      merci de votre aide
      0
    3. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 940
       
      Je ne vois pas le problème...

      #include <cstdio>
      #include <iostream>

      int main() {
      long x = 1555555555555555589;
      std::cout << x << std::endl;
      printf("%li\n", x);
      return 0;
      }


      ... donne :

      (mando@velvet) (~) $ g++ plop.cpp 
      (mando@velvet) (~) $ ./a.out
      1555555555555555589
      1555555555555555589


      Bonne chance
      0