Compilando el programa, me surge el siguiente error:
-------------- Build: Debug in TaulaHashP ---------------
Compiling: image.cc
C:\Users\Akai\Facultat\2 EDA\Pràctiques\P2\TaulaHashP\image.cc: In copy constructor 'ImageColor::ImageColor(const ImageColor&)':
C:\Users\Akai\Facultat\2 EDA\Pràctiques\P2\TaulaHashP\image.cc:40: error: no match for call to '(const ImageColor) (int&, int&)'
C:\Users\Akai\Facultat\2 EDA\Pràctiques\P2\TaulaHashP\image.h:20: note: candidates are: Pixel& ImageColor::operator()(int, int) <near match>
El método que falla es el constructor de copia:
Código
ImageColor::ImageColor(const ImageColor &der) { width=der.getWidth(); height=der.getHeight(); data = new Pixel[width*height]; for(int i=0;i<height;i++){ for(int j=0;j<width;j++){ data[coord2index(i,j)]=der(i,j); } } }
Concretamente en la linea:
Código
data[coord2index(i,j)]=der(i,j);
Y la implementación de la sobrecarga de dicho operador
Código
Pixel& ImageColor::operator()(int row ,int col) { return data[coord2index(row,col)]; }
Os dejo el código completo en pastebin:
http://pastebin.com/VSDB2hSS
¿Alguna idea de qué puede estar ocurriendo?
PD: uso code::blocks 10.05