Компилятор g ++ жалуется на преобразования между связанными типами (из int в enum, из void * в class * ...) - PullRequest
1 голос
/ 21 апреля 2010
Компилятор

g ++ жалуется на преобразования между связанными типами (из int в enum, из void * в class *, из const char * в unsigned char * и т. Д.). Компилятор обрабатывает такие преобразования как ошибки и больше не будет компилироваться. Это происходит только тогда, когда я компилирую, используя Dev-C ++ IDE, но когда я компилирую тот же код (используя компилятор, который использует Dev-C ++), такие ошибки (даже предупреждения) не появляются. Как отключить ошибки таких типов?

Ответы [ 2 ]

2 голосов
/ 21 апреля 2010

Я подозреваю, что в одном случае вы компилируете свой код как C, а другой - как C ++. В C ++ не существует неявного преобразования из void * в любой другой тип указателя, и компилятор C ++, который не диагностирует это как ошибку, будет нарушен. Вы должны предоставить более подробную информацию о том, как вы компилируете свой код.

Кроме того, DevC ++ - ужасный кусок кода. Он глючит и больше не развивается активно, а также выглядит ужасно. Вы должны серьезно подумать о переходе на более современную и функциональную IDE, такую ​​как Code :: Blocks .

0 голосов
/ 21 апреля 2010

Все ваши неявные преобразования запрещены в стандартах, соответствующих C ++.G ++ просто соблюдает эти правила.

...