Вы можете заранее объявить struct colorHSV;
и предоставить определение функции-члена colorRGB::toHSV()
только после завершения типа colorHSV
, то есть известного компилятору.
// Forward-declare return type of toHsv() member function:
struct colorHSV;
struct colorRGB {
float r, g, b;
colorHSV toHSV();
};
struct colorHSV { /* Same as in your snippet. */ };
// Now that colorHSV is defined, we can implement the function using it:
colorHSV colorRGB::toHSV()
{
colorHSV hsv;
// some code..
return hsv;
}