FORUM Tom's Hardware » Programmation » C / C++ / Java » problème switch en c++
 

problème switch en c++

Il y a 335 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici
Ajouter une réponse



 Mot :   Pseudo :  
 
Bas de page
Auteur
 Sujet : problème switch en c++
 
Plus d'informations

J'ai tapé un morceau de prg et je ne comprend pas les erreurs. Sachan que LINE, RECTANGLE et CERCLE sont aussi définis dans une classe ressources.h et concernant le case je ne vois pas comment l'utiliser autrement.
 
 
CElement * CTP2suiteView::CreateElement()
{
 CTP2suiteDoc* pDoc= GetDocument();
 ASSERT_VALID(pDoc);
 switch(pDoc->GetElementType())
 {
 case LINE: return new CLine(m_FirstPoint,m_SecondPoint,pDoc->GetElementWidth(),pDoc->GetElementColor());
 case RECTANGLE: return new CRectangle(m_FirstPoint,m_SecondPoint,pDoc->GetElementWidth(),pDoc->GetElementColor());
 case CERCLE: return new CCercle(m_FirstPoint,m_SecondPoint,pDoc->GetElementWidth(),pDoc->GetElementColor());
 default: ;
 }
}

 
Voici les erreurs qu'il me sort en compilant:
 
error C2065: 'LINE' : undeclared identifier
F:\TP2\TP2suiteView.cpp(139) : error C2051: case expression not constant
F:\TP2\TP2suiteView.cpp(140) : error C2065: 'RECTANGLE' : undeclared identifier
F:\TP2\TP2suiteView.cpp(140) : error C2051: case expression not constant
F:\TP2\TP2suiteView.cpp(141) : error C2065: 'CERCLE' : undeclared identifier
F:\TP2\TP2suiteView.cpp(141) : error C2051: case expression not constant
F:\TP2\TP2suiteView.cpp(143) : warning C4065: switch statement contains 'default' but no 'case' labels
Generating Code...
Error executing cl.exe.

Profil : Pointeur
Plus d'informations

balise [code] stp :o


---------------
Da Bidz Triad©®™: Bidz Interceptor
.:: Smileyz version 4.2 [050625]::. -- Code source disponible sous licence GPL.
[u
Profil : Pointeur
Plus d'informations

en incluant le fichier ??


---------------
Da Bidz Triad©®™: Bidz Interceptor
.:: Smileyz version 4.2 [050625]::. -- Code source disponible sous licence GPL.
[u
pourquoi faire cent fois la même chose ?
Plus d'informations

file nous ressources.h :)

Plus d'informations

oui le fichier est bien inclus

Profil : Pointeur
Plus d'informations

a écrit :

oui le fichier est bien inclus


error C2065: 'LINE' : undeclared identifier


pourtant on dirait pas...


---------------
Da Bidz Triad©®™: Bidz Interceptor
.:: Smileyz version 4.2 [050625]::. -- Code source disponible sous licence GPL.
[u
Plus d'informations

Citation :

Sachant que LINE, RECTANGLE et CERCLE sont aussi définis dans une classe ressources.h


J'aimerais bien voir ton fichier ressources.h, mais bon... Comme tu dis, tu as mis ton enum dans ta classe ce qui le rend inaccessible de l'extérieur de celle-ci. Tu dois donc mettre ton enum à l'extérieur de la classe.
 

Code :
  1. enum TTypeForme    //De cette façon, ton enum est accessible à tous et pas seulement par l'intermédiaire de ta classe.  
  2.   {
  3.      LINE,
  4.      RECTANGLE   
  5.      CERCLE,
  6.   };
  7. class TForme
  8. {
  9.   private:
  10.  
  11.   public:
  12.   enum TTypeForme             //Mauvaise façon, il faut passer par la classe pour utiliser l'enum.
  13.   {
  14.      LINE,
  15.      RECTANGLE   
  16.      CERCLE,
  17.   };
  18. };
  19. CElement * CTP2suiteView::CreateElement()
  20. {
  21.   CTP2suiteDoc* pDoc= GetDocument();
  22.   ASSERT_VALID(pDoc);
  23.   switch(pDoc->GetElementType())
  24.   {
  25.      case LINE: return ....
  26.      case RECTANGLE: return ....
  27.      case CERCLE: return ....
  28.      default: ;         //Dans ce cas-ci, inutile.
  29.   }
  30. }

Profil : Pointeur
Plus d'informations

bha si, si il est en public tu peu y acceder par TForme::TTypeForme :o


---------------
Da Bidz Triad©®™: Bidz Interceptor
.:: Smileyz version 4.2 [050625]::. -- Code source disponible sous licence GPL.
[u
Plus d'informations

Bonjour  
Je debute en c++ et je voudrais apres un cout<<   que l'ordinateur ne n'accepte pas certaine saisie et qu'il me fasse un petit bruit bip

Profil : Pointeur
Plus d'informations

1/ quel est le rapport avec le topik ?
2/ c'est quoi rapport avec cout et les saisie ?
3/ google tu connais ??


---------------
Da Bidz Triad©®™: Bidz Interceptor
.:: Smileyz version 4.2 [050625]::. -- Code source disponible sous licence GPL.
[u

Aller à :
Ajouter une réponse
  FORUM Tom's Hardware » Programmation » C / C++ / Java » problème switch en c++
 

Annonces Google
Publicité