Bonjour
J'ai donc crée une classe pour implémenter la faq.
voici mon code
Il est directement issue de la faq
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39 //--------------------------------------------------------------------------- #pragma hdrstop #include <iostream> #include <sstream> #include <exception> //#include "Exception.h" //--------------------------------------------------------------------------- #pragma package(smart_init) /*---------------------------------------------------------------*/ /* CLASS EXCEPTION */ /*---------------------------------------------------------------*/ class Doc_exception : public std::exception { public: Doc_exception( const char * Msg, int Line ) { std::ostringstream oss; oss << "Erreur paragraph " << Line << " : " << Msg; this->msg = oss.str(); } virtual ~Doc_exception() throw() { } virtual const char * what() const throw() { return this->msg.c_str(); } private: std::string msg; };
il y a pour les autres modules (çà ne compilait pas autrement) un include que je vous communique aussi
mais le linkeur me ressort un unresolved external pour tous les classes qui appellent Doc_exception.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 //--------------------------------------------------------------------------- #ifndef ExceptionH #define ExceptionH //--------------------------------------------------------------------------- class Doc_exception : public std::exception { public: Doc_exception( const char * Msg, int Line ); virtual ~Doc_exception() throw(); virtual const char * what() const throw(); private: std::string msg; }; #endif
A noter que si on retire le commentaire sur l'appel de l'include et qu'on retire l'a déclaration de la classe dans l'include, il y a une erreur de compilation tout aussi hermétique E2040 Déclaration terminée incorrectement **** Erreur du compilateur, alors que cet include est inclue avec succès par d'autres modules
je vous joins le code dans ce cas:
Celui qui me mettra sur la voie sera
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 //--------------------------------------------------------------------------- #pragma hdrstop #include <iostream> #include <sstream> #include <exception> #include "Exception.h" //--------------------------------------------------------------------------- #pragma package(smart_init) /*---------------------------------------------------------------*/ /* CLASS EXCEPTION */ /*---------------------------------------------------------------*/ Doc_exception( const char * Msg, int Line ) { std::ostringstream oss; oss << "Erreur paragraph " << Line << " : " << Msg; this->msg = oss.str(); } virtual ~Doc_exception() throw() { } virtual const char * what() const throw() { return this->msg.c_str(); }![]()
Partager