pic credits
[/g5]
Поведение вашей программы не определено.
Арифметика указателей действительна только в массивах. И r, g, b не образуют массив.
r
g
b
Лучше всего перекодировать float& operator[](size_t) с помощью блока switch, содержащего 3 метки.
float& operator[](size_t)
switch