tableau de fonction membre
J'aimerais faire une map qui me permette sur un objet de ma classe d'appeller une fonction membre via un index.
Code:
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
|
typedef unsigned char* pixel;
typedef void (compressor) (pixel&);
// map COMP => Fonction de compression
typedef map<unsigned int, compressor> compresseursType;
[...]
class COVReaderEngine {
[...]
void setCompressor(unsigned int num, compressor comp);
// pixel _access : accès en mémoire où doivent être écrit les pixels
void compresseur_000(pixel &_acess);
[...]
}
COVReaderEngine::COVReaderEngine(const char* s) {
[...]
setCompressor(0, compresseur_000);
[...]
} |
Mais je n'y arrive pas.
CF :
Citation:
f:\program files\avisynth 2.5\avisynth_256_src\avsdll\cov001.cpp(181) : error C3867: &'COVReaderEngine::compresseur_000' : liste d'arguments manquante dans l'appel de fonction ; utilisez 'COVReaderEngine::compresseur_000' pour créer un pointeur vers membre
Comment faire ? (j'espère qu'au pire des cas il existe une alternative plus orientée objet que l'utilisation d'un switch)