2017-05-05 2 views
0

J'ai besoin de votre aide sur l'un de mes projets C++. J'ai une question sémantique là:Le type de base de référence des membres n'est pas une structure ou une union

Image bwImage(Image); 
bwImage.setPixel(i,j,Color::Color(image.getPixel(i,j).r * RED + image.getPixel(i,j).g*GREEN + image.getPixel(i,j).b*BLUE, 
image.getPixel(i,j).r*RED + image.getPixel(i,j).g*GREEN + image.getPixel(i,j).b*BLUE, 
image.getPixel(i,j).r*RED + image.getPixel(i,j).g*GREEN + image.getPixel(i,j).b*BLUE)); 

Le message d'erreur est:

"type de base de référence est membre sf::Image(sf::Image) pas une structure ou d'une union ".

Est-ce que quelqu'un sait où est le problème?

Merci!

+0

On dirait qu'il est un pointeur de fonction - ce 'image bwImage (image)' semblerait déclarer une fonction. –

Répondre

0

C++ est sensible à la casse. Image est le nom de classe, tandis que image est votre objet qui instancie la classe.

De cette Documentation, sf::Image a un constructeur de copie:

sf::Image::Image ( const Image & Copy ) 

Vous pouvez construire le bwImage, en utilisant ce constructeur de copie, en passant une référence à votre objet image.

Alors première ligne:

Image bwImage(Image); 

devrait être:

Image bwImage(image); 
+0

@CaptainObvlious Édité, Merci – Rama

+0

Qu'en est-il des autres différences? –

+0

@CaptainObvlious Je ne suis pas sûr de ce que vous voulez dire, pouvez-vous être plus précis? – Rama