Bonjour,
Lorsque je compile le code suivant avec Visual Studio, j'obtiens le message d'erreur :
'static_cast' : la conversion de 'FileDataSource *' en 'DataSource *' existe, mais n'est pas accessible.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
DataSource* ds;
if (strcmp(type,"sql") == 0)
	ds = static_cast<DataSource*>(new SQLDataSource(".\\global.ini"));
else
	ds = static_cast<DataSource*>(new FileDataSource(".\\global.ini"));
FileDataSource et SQLDataSource héritent bien de DataSource!
Avec un dynamic_cast, ça plante à l'exécution. C'est cohérent mais je ne comprends pas cette notion d'accessibilité.
Merci d'avance