具有C语言功能的枚举

时间:2013-07-17 12:02:41

标签: c

当我检查ffmpeg的源代码时,我看到这一行:

enum AVDurationEstimationMethod av_fmt_ctx_get_duration_estimation_method
(const AVFormatContext* ctx);

此处enum的功能是什么?

6 个答案:

答案 0 :(得分:8)

av_fmt_ctx_get_duration_estimation_method是一个返回枚举类型AVDurationEstimationMethod的对象的函数。

答案 1 :(得分:5)

enum AVDurationEstimationMethod一起是函数av_fmt_ctx_get_duration_estimation_method返回的类型

关键字enum,如structunion,是表示类型所必需的。要省略它,请使用typedef

typedef enum AVDurationEstimationMethod sometype;

然后你就可以使用它:

sometype av_fmt_ctx_get_duration_estimation_method(const AVFormatContext* ctx);

答案 2 :(得分:3)

您发布的代码是函数的声明,该函数返回enum AVDurationEstimationMethod的实例,该实例是枚举类型。

答案 3 :(得分:3)

在C enums中有效地生活在他们自己的“命名空间”中(结构也是如此)。要明确指出您的枚举类型,您必须在其前面添加enum关键字。

答案 4 :(得分:1)

此处函数av_fmt_ctx_get_duration_estimation_method();const AVFormatContext* ctx作为参数并返回enum AVDurationEstimationMethod

答案 5 :(得分:0)

here您可以找到有关该方法的信息,以及here关于枚举返回类型的信息