编译函数调用的错误,Arduino

编译函数调用的错误,Arduino,arduino,Arduino,我编译程序时遇到了问题。它是这样写的: AP_Var(AP_Var_group *group, Key index, const prog_char_t *name, Flags flags = k_flags_none); 编译器告诉我 AP_Var.h:163:错误:在“*”标记之前应为“,”或“…” 据我所知,prog\u char\t来自另一个名为Betterstream.h的文件,但是prog\u char\t究竟是什么?prog\u char\t在源代码中定义如下 i、 e.它定

我编译程序时遇到了问题。它是这样写的:

 AP_Var(AP_Var_group *group, Key index, const prog_char_t *name, Flags flags = k_flags_none);
编译器告诉我

AP_Var.h:163:错误:在“*”标记之前应为“,”或“…”


据我所知,
prog\u char\t
来自另一个名为
Betterstream.h
的文件,但是
prog\u char\t
究竟是什么?

prog\u char\t
在源代码中定义如下

i、 e.它定义了存储在AVR微控制器程序存储器中的
char


标准的Arduino环境使用定义了相同用途的。我不清楚团队为什么选择自己定义它。

哦,我明白了。那么prog\u char\t就像int、float或char?它用于定义声明?是的,它是在Arducopter源代码中定义的自定义类型。
// prog_char_t is used as a wrapper type for prog_char, which is
// a character stored in flash. By using this wrapper type we can
// auto-detect at compile time if a call to a string function is using
// a flash-stored string or not
typedef struct {
        char c;
} prog_char_t;