Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1273 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  pourquoi ce code ne compile pas ? (MACOSX user asked)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

pourquoi ce code ne compile pas ? (MACOSX user asked)

n°761121
kadreg
profil: Utilisateur
Posté le 12-06-2004 à 09:41:43  profilanswer
 

Code :
  1. class MyClass {};
  2. void function (int a, int b, MyClass &c){}
  3. void error () {
  4. function (1, 2, MyClass());
  5. }


 
Ca compile sous le visual, mais pas sous g++ 3.3 :
 

kadreg@rincevent:~$ g++-3.3 -c ./nonconst.cpp
nonconst.cpp: In function `void error()':
nonconst.cpp:7: error: could not convert `{}' to `MyClass&'
nonconst.cpp:4: error: in passing argument 3 of `void function(int, int,
   MyClass& )'
kadreg@rincevent:~$


Message édité par kadreg le 12-06-2004 à 10:44:05

---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
mood
Publicité
Posté le 12-06-2004 à 09:41:43  profilanswer
 

n°761126
Joel F
Real men use unique_ptr
Posté le 12-06-2004 à 10:06:58  profilanswer
 

Visual ca puduku, et le message est assez explicite :
 

Code :
  1. class MyClass {};
  2. void function (int a, int b, MyClass &c){}
  3. void error ()
  4. {
  5.   MyClass c;
  6.   function (1, 2, c);
  7. }


 
sinon est ce que ta MyClasse a un constructeur par défaut sans arguments ?

n°761129
kadreg
profil: Utilisateur
Posté le 12-06-2004 à 10:10:30  profilanswer
 

Code :
  1. class MyClass {
  2. public:
  3. MyClass (){}
  4. };
  5. void function (int a, int b, MyClass &c){}
  6. void error () {
  7. function (1, 2, MyClass());
  8. }


 

kadreg@rincevent:~$ g++-3.3 -c ./nonconst.cpp
nonconst.cpp: In function `void error()':
nonconst.cpp:10: error: could not convert `MyClass()' to `MyClass&'
nonconst.cpp:7: error: in passing argument 3 of `void function(int, int,
   MyClass& )'
kadreg@rincevent:~$


 
Ca ne change pas fondamentallement on problème [:spamafote]
 


Message édité par kadreg le 12-06-2004 à 10:11:19

---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
n°761132
Ace17
Posté le 12-06-2004 à 10:14:38  profilanswer
 

T'as pas oublié un const quelque part?
 

Code :
  1. class MyClass {};
  2.  
  3.   void function (int a, int b, const MyClass &c){}
  4.  
  5.   void error () {
  6.      function (1, 2, MyClass());
  7. }


Message édité par Ace17 le 12-06-2004 à 10:15:21
n°761134
Taz
bisounours-codeur
Posté le 12-06-2004 à 10:17:13  profilanswer
 

je sais pas c'est quoi votre version de g++ mais chez moi, le 3.3 et le 3.4 donne le message d'erreur qui va bien : à savoir que les objets temporaires doivent être constant, donc MaClasse & ne fonctionne pas

n°761136
kadreg
profil: Utilisateur
Posté le 12-06-2004 à 10:21:21  profilanswer
 

taz, tu as une bonne URL sur l'écriture de code portable ? Je suis à la recherche des différences de comportement visual/g++


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
n°761137
kadreg
profil: Utilisateur
Posté le 12-06-2004 à 10:21:48  profilanswer
 

Ace17 a écrit :

T'as pas oublié un const quelque part?


 
c'est voulu [:zebra33]


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
n°761139
Ace17
Posté le 12-06-2004 à 10:24:06  profilanswer
 

kadreg a écrit :

taz, tu as une bonne URL sur l'écriture de code portable ? Je suis à la recherche des différences de comportement visual/g++


http://www.mozilla.org/hacking/portable-cpp.html

n°761141
kadreg
profil: Utilisateur
Posté le 12-06-2004 à 10:25:00  profilanswer
 


 
Excellent :love:


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
n°761142
Ace17
Posté le 12-06-2004 à 10:26:28  profilanswer
 

kadreg a écrit :

c'est voulu [:zebra33]


C'est voulu??? Pourquoi ne peux tu pas mettre un const?

mood
Publicité
Posté le 12-06-2004 à 10:26:28  profilanswer
 

n°761143
Taz
bisounours-codeur
Posté le 12-06-2004 à 10:26:52  profilanswer
 

le pire c'est que les solutions portables sont pires que le soit disant problème

n°761145
Taz
bisounours-codeur
Posté le 12-06-2004 à 10:27:36  profilanswer
 

kadreg a écrit :

c'est voulu [:zebra33]

ben alors ça marchera pas ... qu'est-ce que tu pourrais bien faire d'une copie jetable ?

n°761147
Ace17
Posté le 12-06-2004 à 10:29:12  profilanswer
 

Taz a écrit :

le pire c'est que les solutions portables sont pires que le soit disant problème


 
Ben les solutions portables .... déja quand on voit ca ....
"Don't use C++ templates."
"Don't use exceptions."
... on se demande si on est toujours en train de profiter du fait que l'on fait du C++

n°761148
kadreg
profil: Utilisateur
Posté le 12-06-2004 à 10:31:21  profilanswer
 

Ace17 a écrit :


... on se demande si on est toujours en train de profiter du fait que l'on fait du C++


 
C'est du C with classes [:spamafote]
 
Et les don't use name space, don't une RTTI et cie...
 


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
n°761149
Taz
bisounours-codeur
Posté le 12-06-2004 à 10:32:36  profilanswer
 

kadreg a écrit :

C'est du C with classes [:spamafote]
 
Et les don't use name space, don't une RTTI et cie...

mais je crois qu'on a tous compris que c'était du bidon ces conseils

n°761150
kadreg
profil: Utilisateur
Posté le 12-06-2004 à 10:32:59  profilanswer
 

Taz a écrit :

mais je crois qu'on a tous compris que c'était du bidon ces conseils


 
oui.
 
Une autre URL ?


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
n°761151
kadreg
profil: Utilisateur
Posté le 12-06-2004 à 10:34:13  profilanswer
 

Juste une remarque, je prépare un document sur comment faire du code portable de kalitai, et mon premier conseil est : "regarder dans votre doc à quel standard correspond ce que vous voulez appeler".


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
n°761152
Ace17
Posté le 12-06-2004 à 10:34:57  profilanswer
 

C'est pas du bidon malheureusement. Le code source de Mozilla respecte toutes ces regles a la con.
Si tu cherches a faire un code qui compile sous tous les compilos C++ qui existent, tu dois les respecter.

n°761153
kadreg
profil: Utilisateur
Posté le 12-06-2004 à 10:36:01  profilanswer
 

Je veux un code qui compile sur tous les compilos moderne. Le pire étant le visual 6 (mais c'est plus par legacy qu'autre choses), donc, j'utilise les templates, les RTTI (ne pas oublier /GX) et autre joyeusetées modernes.


Message édité par kadreg le 12-06-2004 à 10:36:34

---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
n°761154
Ace17
Posté le 12-06-2004 à 10:37:41  profilanswer
 

Meme sur les Macs?
 
"#include statements should include only simple filenames."
"Macs complain about assignments in boolean expressions."
"Every source file must have a unique name."

n°761155
kadreg
profil: Utilisateur
Posté le 12-06-2004 à 10:38:37  profilanswer
 

macOSX n'a pas ces problèmes non ? [:spamafote]


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
n°761156
Ace17
Posté le 12-06-2004 à 10:39:32  profilanswer
 

devine :D

n°761157
kadreg
profil: Utilisateur
Posté le 12-06-2004 à 10:43:48  profilanswer
 

Je lance un appel ayu peuple :o


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
n°761159
verdoux
And I'm still waiting
Posté le 12-06-2004 à 10:47:34  profilanswer
 

C'est pour ça que nraynaud fait du java sur son mac.

n°761160
Ace17
Posté le 12-06-2004 à 10:53:18  profilanswer
 

Je crois qu'il va falloir redéfinir la notion de "code portable", en "code portable sur les compilateurs raisonnables"(i.e ceux qui sont aux normes) :D


Message édité par Ace17 le 12-06-2004 à 10:53:53
n°761171
Joel F
Real men use unique_ptr
Posté le 12-06-2004 à 11:20:47  profilanswer
 

Ace17 a écrit :

Meme sur les Macs?
 
"#include statements should include only simple filenames."
"Macs complain about assignments in boolean expressions."
"Every source file must have a unique name."


 
c'est quoi ces conneries ?

n°761193
Ace17
Posté le 12-06-2004 à 11:59:36  profilanswer
 

C'est tiré de l'url donnée plus haut

n°761205
Taz
bisounours-codeur
Posté le 12-06-2004 à 12:20:55  profilanswer
 

bon vous êtes saoulant
 
ARM §8.4.3 et §13
 
 
c'est VC6 qui a tort de compiler ça.

n°761228
Ace17
Posté le 12-06-2004 à 13:00:56  profilanswer
 

Tu veux dire que ces trois restrictions appartiennent a la norme?

n°761232
Taz
bisounours-codeur
Posté le 12-06-2004 à 13:13:09  profilanswer
 

quelles 3 restrictions ? moi je parlais de l'exemple de code du premier message. le reste c'est de la branlette des abruits de mozilla. ils me font marrés « ouais on est un projet libre phare » ... ben faudrait voir à choisir des icônes libres alors :o

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  pourquoi ce code ne compile pas ? (MACOSX user asked)

 

Sujets relatifs
Pb : Comment afficher un texte dans une état access avec code VBAImpossible de créer l'en-tête pré-compilé : code dans l'en-tête
Ecrire un fichier txt codé en utf-8Maj de mon code PHP !!
HTML -> XML Validateur de code ?Comment trouvez vous ce code ? [résolus]
Insérer Code HTML par script.[php] erreur dans le code
nb de ligne de code maxi dans outlook express 6 
Plus de sujets relatifs à : pourquoi ce code ne compile pas ? (MACOSX user asked)


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR