Erreurs de compilation : Help
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:
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;
} |
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 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);
} |
(en fushia, les lignes 10 et 28)
Et je bute à la récetion des méssages d'erreurs suivant à la compilation :
Citation:
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
[...]
Merci.
PS : compilé sous M$ Visual Studio 2005 Express.