Dlaczego zmienna wyliczana jest tutaj wartością?

Przykład: typedef enum Color { RED, GREEN, BLUE } Color; void func(unsigned int& num) { num++; } int main() { Color clr = RED; func(clr); return 0; } Podczas kompilacji pojawia się następujący błąd: <source>: In function 'int main()': <source>:16:9: error: cannot bind...