Bonjour
J'ai donc crée une classe pour implémenter la faq.
voici mon code
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 est directement issue de la faq
il y a pour les autres modules (çà ne compilait pas autrement) un include que je vous communique aussi
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
mais le linkeur me ressort un unresolved external pour tous les classes qui appellent Doc_exception.
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:
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();
}
Celui qui me mettra sur la voie sera