Operador sobrecargando en C

Estoy tratando de sobrecargar algunos operadores:

/* Typedef is required for operators */
typedef int Colour;

/* Operators */
Colour operator+(Colour colour1, Colour colour2);
Colour operator-(Colour colour1, Colour colour2);
Colour operator*(Colour colour1, Colour colour2);
Colour operator/(Colour colour1, Colour colour2);

Recibo este error por cada sobrecarga intentada:

expected '=', ',', ';', 'asm' or '__attribute__' before '+' token

No puedo encontrar ninguna buena documentación sobre la sobrecarga del operador. Google busca resultados en tutoriales de C ++ que usan clases. En C no hay clases. ¿Alguien puede ayudarme? Gracias.

Respuestas a la pregunta(5)

Su respuesta a la pregunta