Test Foro de elhacker.net SMF 2.1

Programación => Programación C/C++ => Mensaje iniciado por: DanFire en 2 Mayo 2016, 10:35 AM

Título: [resuleto] error unexpected unqualified-id before ‘try’
Publicado por: DanFire en 2 Mayo 2016, 10:35 AM
Buenas gente!
he tenido uun error bastante extraño en este corto codigo espero que podais ayudarme:

Código (cpp) [Seleccionar]
#ifndef TEXTVIEWER_H
#define TEXTVIEWER_H
#include <iostream>
#include "Tissu.h"
#include "Masse.h"
#include "Systeme.h"
#include "Ressort.h"
#include "SupportADessin.h"
class TextViewer : public SupportADessin
{
public:
   try {
       bool condition (false);
       
       virtual void Dessine(Tissu const& element)const override
       {
           if (condition) {
               throw 1;
           }
           std::cout<<element;            
       }
       virtual void Dessine(Systeme const& element)const override
       {
           if (condition) {
               throw 2;
           }
           element.Affiche();
       }    

       virtual void Dessine(Masse const& element)const override
       {
           if (condition) {
               throw 3;
           }
           std::cout<<element;
       }    
       virtual void Dessine(Ressort const& element)const override
       {
           if (condition) {
               throw 4;
           }
           std::cout<<element;
       }    
   }catch(int erreur){
       switch (erreur) {
           case 1: {
               std::cerr<< "Pas de support à dessin definit dans : Dessine(Tissu).  "<<std::endl
                   break;
           }
           case 2: {
               std::cerr<< "Pas de support à dessin definit dans : Dessine(Systeme).  "<<std::endl    
                   break;
           }
           case 3: {
               std::cerr<< "Pas de support à dessin definit dans : Dessine(Masse).  "<<std::endl
                   break;
           }
           case 4: {
               std::cerr<< "Pas de support à dessin definit dans : Dessine(Ressort).  "<<std::endl
                   break;
           }
               throw;
 
       }
       


   }
   
   
   
};
#endif


Y me dice :
TextViewer.h:12:5: error: expected unqualified-id before 'try'
          try {
         ^
TestTextViewer.cpp:26:1: error: expected '}' at end of input
  }
  ^
TestTextViewer.cpp:26:1: error: expected unqualified-id at end of input

Gracias
Título: Re: error unexpected unqualified-id before ‘try’
Publicado por: ivancea96 en 2 Mayo 2016, 10:46 AM
No puedes poner try-catch fuera de una función. Ahí lo tienes dentro de la clase. Tienes que ponerlo dentro de cada método que lo necesite.
Título: Re: error unexpected unqualified-id before ‘try’
Publicado por: DanFire en 2 Mayo 2016, 11:02 AM
joo pues vaya rollo, no? Vale muchas gracias!
Título: Re: [resuleto] error unexpected unqualified-id before ‘try’
Publicado por: ivancea96 en 2 Mayo 2016, 13:25 PM
De todos modos, ese no sería el uso ideal de try-catch. En vez de throws, pones el cerr directamente.