Могу ли я отменить определение EXIT_SUCCESS? - PullRequest
1 голос
/ 30 марта 2011

Я бы хотел определить свой собственный тип Enumerated: ExitType.Я написал это так:

enum ExitType{
  EXIT_SUCCESS,
  EXIT_FAILURE,
  EXIT_OTHERTYPE
  };

У меня есть функция, которая возвращает ExitType.При некоторых условиях возвращает EXIT_SUCCESS.Но я получаю сообщение об ошибке, что вы не можете привести тип int к типу ExitType.Могу ли я отменить определение EXIT_SUCCESS для своей IDE, или я застрял, используя static_cast<int>(EXIT_SUCCESS)?Похоже, что существует вероятность того, что их EXIT_SUCCESS совпадут с моим EXIT_OTHERTYPE и т. Д.

Я использую Eclipse Helios с CDT, MinGW32 и SDL.Все 32-разрядные и последние версии.

Редактировать : Попытка отмены определения EXIT_SUCCESS с препроцессором.

#undef EXIT_SUCCESS
#undef EXIT_FAILURE

enum ExitType{
    EXIT_SUCCESS,
    EXIT_FAILURE,
    EXIT_OTHERTYPE,
    EXIT_NOEXIT
};

Результат:
.. \ src \EventManager.cpp: 12: 7: ошибка: недопустимое преобразование из 'int' в 'ExitType'

Редактировать 2 : Когда я перенес свои неопределенные значения ПОСЛЕ включенияошибка ушла.Однако GREP кода SDL не обнаруживает ничего, соответствующего EXIT_SUCCESS.

1 Ответ

2 голосов
/ 30 марта 2011

#undef EXIT_SUCCESS должен отменить определение препроцессора EXIT_SUCCESS, что, как я полагаю, происходит здесь.Но только сделайте это, если вы УВЕРЕНЫ, что вы ничего не сломаете!

...