Bonjour

Je me demande si il existe des instructions pour déclencher une erreur ou un avertissement du compilateur.

Exemple:

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
 
template<int T> class MaClasse
{
public:
	MaClasse(){}
	~MaClasse(){}
};
 
template<> class MaClasse<5>
{
public:
	MaClasse(){/*
		instruction déclenchant une erreur ou un
		avertissement à la compilation
	*/}
	~MaClasse(){}
};
Dans l'exemple ci-dessus toute les valeurs entières peuvent être passé en paramètre template sauf la valeur 5 qui déclenche une erreur ou un avertissement.

Mon but est de gérer les exceptions comme avec try/throw/catch, mais à la compilation et non à l'exécution.

Il y a l'instruction #error qui déclenche une erreur à la compilation mais comme celle-ci est une commande du préprocesseur je ne crois pas qu'elle puisse m'aider.

Ces instructions existent-elles et sinon, comment fait-on pour gérer les "meta-exceptions"?

Merci de prendre le temps de me répondre.