Bonjour,
j'ai résolu un petit problème que j'avais, mais je ne comprend pas pourquoi.
J'ai deux version du même code, une version pour Linux et une version pour Windows.
La seule différence entre les deux est que sous la version windows, j'ai dû mettre les fonctions en public au lieu de protected (sinon mingw-gcc refusait la compilation, parce que c'était en protected).
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 #if defined(__LINUX) class SystemInStream: public io::UnixInStream { protected: friend class System; inline SystemInStream(int fd): UnixInStream(fd) { } inline ~SystemInStream(void) { } }; #elif defined(__WIN32) || defined(__WIN64) class SystemInStream: public io::WinInStream { protected: friend class System; public: inline SystemInStream(HANDLE fd): WinInStream(WinInStream::fd()) { } inline ~SystemInStream(void) { } }; #endif
Pourquoi ? Y a t'il une différence entre public et protected selon que l'on est sous Windows ou sous Linux (et pourquoi donc ?) ?
Partager