C++ 语法错误:缺少';{&';之前';';
我有一个AVOption结构:C++ 语法错误:缺少';{&';之前';';,c++,ffmpeg,C++,Ffmpeg,我有一个AVOption结构: static const AVOption options[] = { COMMON_OPTIONS // error here { NULL } }; 而通用选项的定义如下: #define COMMON_OPTIONS \ { "interp", "select interpolation mode", OFFSET(interpolation), AV_OPT_TYPE_INT, {.i64=INTERPO
static const AVOption options[] = {
COMMON_OPTIONS // error here
{ NULL }
};
而通用选项
的定义如下:
#define COMMON_OPTIONS \
{ "interp", "select interpolation mode", OFFSET(interpolation), AV_OPT_TYPE_INT, {.i64=INTERPOLATE_TETRAHEDRAL}, 0, NB_INTERP_MODE-1, FLAGS, "interp_mode" }, \
{NULL}
我得到一个错误:
2>c:\users\awki6\desktop\ffmpeg\libavfilter\vsrc_testsrc.cpp(98): error C2143: syntax error : missing '}' before '.'
您的
COMMON_OPTIONS
宏已包含{NULL}
,并且没有以,
结尾,因此:
static const AVOption options[] = {
COMMON_OPTIONS
};
这会解决你的问题
编辑前的过去答案:
即使我们不知道COMMON\u OPTIONS
扩展到了什么,我猜您还是忽略了它后面的逗号:
static const AVOption options[] = {
COMMON_OPTIONS,
// ^
{ NULL }
};
COMMON\u OPTIONS
扩展到什么?定义COMMON\u OPTIONS\{“interp”,“选择插值模式”,偏移(插值),AV\u OPT\u TYPE\u INT,{.i64=INTERPOLATE\u四面体},0,NB\u interp\u mode-1,标志,“interp\u mode”},{NULL}