Bonjour,
J'inclus une lib et un header issu du projet 'openkinect'.
Dans les exemples proposés ils utilisent beaucoup les variables globales que ce soit en c ou en c++.
Je veux faire du vrai objet avec des constructeurs, des pointeurs intelligents ...
Je me suis donc écrit une classe basée sur les exemples proposés mais je me retrouve avec presque tous mes membres en statics de partout.
Si mes variables/fonctions ne sont plus static dans la classe, le compliateur me jette avec :
"invalid use of non-statics member function"
par exemple :
1 2 3 4 5 6 7 8 9 10 11 12
| void Kinect::init_loop() {
int freenect_angle = 0;
freenect_set_tilt_degs(f_dev,freenect_angle);
freenect_set_led(f_dev,LED_RED);
freenect_set_depth_callback(f_dev, depth_cb);
freenect_set_depth_mode(f_dev, freenect_find_depth_mode(FREENECT_RESOLUTION_MEDIUM, FREENECT_DEPTH_11BIT));
freenect_start_depth(f_dev);
} |
depth_cb doit être static sinon ça ne complie pas :-(
Je me retrouve aussi avec des pointeurs où je fais un malloc en dehors du constructeur :
uint8_t *Kinect::rgb_back = (uint8_t*)malloc(WIDTH*HEIGHT*3);
J'ai l'impression de lire du c et non plus du c++, comment faire ? Merci
Partager