Je me suis remis au C++ depuis peu (quelques heures) et malgrès le fait de lire et relire les parties consacrés dans 3 des cours que j'ai trouvé ici même, je ne comprends pas ce qu'on me reproche (je suis inocent, monsieur l'agent).
Voici donc le header et le code.
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 typedef unsigned char pixel[4]; class RasterLike { private : pixel **data; const unsigned int width; const unsigned int height; public : RasterLike(unsigned int _width, unsigned int _height); ~RasterLike(void); void setPixel(unsigned int x, unsigned int y, pixel pix); pixel getPixel (unsigned int x, unsigned int y) const; }(en fushia, les lignes 10 et 28)
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
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32 #include "cov001.h" RasterLike::RasterLike(unsigned int _width, unsigned int _height) : width(_width), height(_height) { this->data = new pixel* [this->width]; for (unsigned int x = 0; x < this->height; x++) { this->data[x] = new pixel[this->height]; } return; } RasterLike::~RasterLike() { for (unsigned int x = 0; x < this->height; x++) { delete[] this->data[x]; } delete this->data; } void RasterLike::setPixel(unsigned int x, unsigned int y, pixel pix) { this->data[x][y] = &pix; } pixel RasterLike::getPixel(unsigned int x, unsigned int y) const { return this->data[x][y]; } int main() { RasterLike a = new RasterLike(320,240); }
Et je bute à la récetion des méssages d'erreurs suivant à la compilation :
Merci.
cov001.cpp
f:\program files\avisynth 2.5\avisynth_256_src\avsdll\cov001.h(19) : error C2090: tableau retourné par la fonction
f:\program files\avisynth 2.5\avisynth_256_src\avsdll\cov001.cpp(10) : error C2533: 'RasterLike::{ctor}' : type de retour non autorisé pour les constructeurs
f:\program files\avisynth 2.5\avisynth_256_src\avsdll\cov001.cpp(28) : error C2440: '=' : impossible de convertir de 'unsigned char *__w64 []' en 'pixel'
Aucune conversion en types tableau, même s'il y a des conversions en références ou en pointeurs de tableau
[...]
PS : compilé sous M$ Visual Studio 2005 Express.
Partager