[C++] problème de compilation (templates inside)

problème de compilation (templates inside) [C++] - C++ - Programmation

Marsh Posté le 17-01-2005 à 16:15:16    

salut
j'essaie de compiler un code C++ qui vient d'un cours, et ça veut pas compiler, et je comprends pas pourquoi  :??:  
 
c'est peut-être une erreur classique (enfin j'espère) alors voilà les messages d'erreurs de visual :
 
error C2780: '__thiscall queue<class Voiture *>::queue<class Voiture *>(const class queue<class Voiture *> & )' : expects 1 arguments - 1 provided
see declaration of 'queue<class Voiture *>::queue<class Voiture *>'
 
et puis aussi ce qui suit, mais ça découle peut-être de la première erreur
 
error C2783: '__thiscall queue<class Voiture *>::queue<class Voiture *>(void)' : could not deduce template argument for 'T'
error C2783: 'bool __thiscall queue<class Voiture *>::empty(void)' : could not deduce template argument for 'T'
error C2783: ' &__thiscall queue<class Voiture *>::front(void)' : could not deduce template argument for 'T'
error C2783: 'void __thiscall queue<class Voiture *>::pop(void)' : could not deduce template argument for 'T'
 
voici la ligne de code incriminée par la première erreur:
 
 

Code :
  1. queue<Voiture *> file;


 
Je suis totalement dans le flou, alors la moindre suggestion pertinente pourra être la bienvenue  :jap:  
 
merci

Reply

Marsh Posté le 17-01-2005 à 16:15:16   

Reply

Marsh Posté le 17-01-2005 à 16:28:55    

Tu as bien ces deux lignes quelque part (avant) ?

Code :
  1. #include <queue>
  2. using namespace std;
  3. // ou bien: using std::queue;


Message édité par Lam's le 17-01-2005 à 16:29:54
Reply

Marsh Posté le 17-01-2005 à 18:30:18    

en effet, ça progresse. merci :)
mais maintenant j'ai ça....
 
fatal error C1001: INTERNAL COMPILER ERROR
        (compiler file 'msc1.cpp', line 1786)  
         Please choose the Technical Support command on the Visual C++  
         Help menu, or open the Technical Support help file for more information
Error executing cl.exe.
Creating browse info file...
BSCMAKE: error BK1506 : cannot open file '.\Debug\main.sbr': No such file or directory
Error executing bscmake.exe.
 
 
entre temps j'avais installé SP2 pour XP.. que j'ai desinstallé depuis... je sais pas si ça avait un lien ou pas...

Reply

Marsh Posté le 17-01-2005 à 18:33:15    

contacte ton service après-vente

Reply

Marsh Posté le 17-01-2005 à 19:11:48    

Vérifie tes options de compil. En particulier la génération de "browsing information".
Et simplifie le code jusqu'à ce que tu identifies les lignes qui posent le problème et fait les péter. On t'aidera un peu...

Reply

Marsh Posté le 18-01-2005 à 17:23:36    

dans mon main.h j'avais défini la classe queue
j'ai simplement viré toute la définition de la classe, et la ca compile, et ca tourne.
j'avais pas du tout pensé que le #include <queue> utilisait une classe queue standard.
mais je comprends pas pour autant pourquoi ca donnait cette vilaine erreur de compilation, si vous avez une explication simple ca m'intéresse:)
 
en vous remerciant

Reply

Marsh Posté le 18-01-2005 à 21:10:08    

Taz a écrit :

contacte ton service après-vente


[:rofl] [:burtonsnowboard]


Message édité par el muchacho le 18-01-2005 à 21:10:31
Reply

Marsh Posté le 18-01-2005 à 21:14:09    

Muad_Dib a écrit :

dans mon main.h j'avais défini la classe queue
j'ai simplement viré toute la définition de la classe, et la ca compile, et ca tourne.
j'avais pas du tout pensé que le #include <queue> utilisait une classe queue standard.
mais je comprends pas pour autant pourquoi ca donnait cette vilaine erreur de compilation, si vous avez une explication simple ca m'intéresse:)
 
en vous remerciant


En un mot: Microsoft, en 3 : bug du compilo.
Dans les cas où les messages d'erreur ne te disent rien, et si tu en as la possibilité sans que ça prenne toute la journée, tu peux essayer de compiler le même code avec un autre compilo, ça peut parfois aider.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed