Перечисления "enum class"

1,00
р.
Новый стандарт С++ дает возможность использовать новый тип перечислений, лично для меня это намного удобнее старых обычных enum "перечислений", но есть одна проблема - она очень не удобна лично для меня, вот пример и суть проблемы:
enum class Colors: DWORD { RED = 0xFFFF0000, GREEN = 0xFF00FF00 ... }
Начинаю использовать:
void draw2DBox(DWORD col) { ...//Не важно что здесь }
int main() { draw2DBox(Colors::RED )//Компилятор считает Colors::RED как какой-то объект а не член типа DWORD return 0 }
Приходится делать приведение типов:
int main() { draw2DBox((DWORD)Colors::RED )//Так компилируется - но это жутко не удобно return 0 }
Может можно как-то обойтись без приведения типов?
UPD:
Использую VS 2015

Ответ
Не работает, не должно работать и не будет работать.
Идеей введения enum class была изолированность его значений и видимость особого типа. Неявное приведение для него недоступно by design:
http://ideone.com/QQkRvZ
enum class test : int { value = 0 }
int main() { test t = 0 return test::value }
prog.cpp: In function 'int main()': prog.cpp:11:11: error: cannot convert 'int' to 'test' in initialization test t = 0 ^ prog.cpp:12:15: error: cannot convert 'test' to 'int' in return return test::value ^