Buenas gente!
he tenido uun error bastante extraño en este corto codigo espero que podais ayudarme:
#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
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.
joo pues vaya rollo, no? Vale muchas gracias!
De todos modos, ese no sería el uso ideal de try-catch. En vez de throws, pones el cerr directamente.