Ho una classe Color che contiene tre componenti float (r, g, b).Restituisce il tipo errato in C++
devo programmare la seguente funzione:
colori getColor (valori unsigned char [], int i)
Normalmente dovrebbe programmare in questo modo:
Color getColor(unsigned char values[], int i){
return Color((float) values[i]/255.0, (float) values[i+1]/255.0, (float) values[i+2]/255.0);
}
Ma errore Ho fatto
return values[i];
Quando ho compilato non ho ottenuto alcun errore di compilazione e non ho anche l'errore di run time.
Perché questo è possibile?
Stai chiamando Color con un costruttore con 3 caratteri senza segno. Ha anche un costruttore con 1 carattere senza segno? ... Quindi è implicitamente costruito con esso. – deviantfan
Esistono costruttori per 'Color' che accettano un singolo argomento? Cosa succede se li dichiari come "espliciti"? –
Mostrare come è definita la classe/struct Color. – David