Problème avec typedef qui produit une erreur C2143

Fermé
Mourad2009B Messages postés 100 Date d'inscription lundi 23 août 2010 Statut Membre Dernière intervention 7 juillet 2023 - 30 nov. 2015 à 09:39
mamiemando Messages postés 33100 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 13 mai 2024 - 5 déc. 2015 à 13:06
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

mamiemando Messages postés 33100 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 13 mai 2024 7 753
30 nov. 2015 à 12:41
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
Mourad2009B Messages postés 100 Date d'inscription lundi 23 août 2010 Statut Membre Dernière intervention 7 juillet 2023
30 nov. 2015 à 15:10
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
mamiemando Messages postés 33100 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 13 mai 2024 7 753
1 déc. 2015 à 10:27
Serait-il possible que tu donnes le fichier complet, ou au moins les lignes alentours aux lignes d'erreur ?

Ton autre problème se règle ensoit en utilisant
printf
(
#include <cstdio>
), soit en passant dans ton flux le format d'affichage approprié.
http://www.cplusplus.com/reference/cstdio/printf/
http://www.cplusplus.com/reference/ios/scientific/

Bonne chance
0
Mourad2009B Messages postés 100 Date d'inscription lundi 23 août 2010 Statut Membre Dernière intervention 7 juillet 2023
4 déc. 2015 à 15:40
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
mamiemando Messages postés 33100 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 13 mai 2024 7 753
5 déc. 2015 à 13:06
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