我有以下代码行:

typedef P2FUNC(Std_ReturnType, APP1, GetData) (P2VAR(max_data, AUTOMATIC, APP2)


其中P2FUNC和P2VAR是编译器宏:

#define P2FUNC(rettype, ptrclass, fctname) rettype (*fctname)
#define P2VAR(ptrtype, memclass, ptrclass) ptrtype *


max_data定义为:

typedef uint8 max_data[];


编译器给我以下错误:

error: parameter '<anonymous>' includes pointer to array of unknown bound     'max_data {aka unsigned char []}'


该.h文件包含在外部“ C” {...声明中的.cpp文件中。

我的问题是,是否可以针对这种情况禁用此错误消息?根据一些特定的标准,这种情况是由于数组大小不确定的原因。

我正在使用g ++编译器进行编译。
将感谢您的帮助。

最佳答案

尝试将max_data定义为:

typedef uint8* max_data;


指定大小:

typedef uint8 max_data[10];

10-07 19:01
查看更多