Является ли хорошей идеей использовать параметр перечисления в функции общедоступного API на языке C?

Я разрабатываю C API, который, помимо прочего, должен обеспечивать способ установки некоторых параметров с двойным значением. Для определения параметров я использую следующее перечисление:

typedef enum
{
    OptionA,
    OptionB,
    ...
} Option;

Рекомендуется ли использовать Option в качестве типа параметра в общедоступной функции API:

int set_option(Option opt, double value);

или лучше использовать int вместо:

int set_option(int opt, double value);

учитывая, что мне, возможно, потребуется добавить больше опций в будущем?

Также есть хорошие примеры существующих API, которые демонстрируют любой подход?

7
задан vitaut 2 February 2012 в 20:25
поделиться