[英]ncurses pass FIELD
我正在使用ncurses编写一个c ++程序。
这是一段代码
int PartEntry()
{
FIELD *partEntryFields[10];
PartEntrySetupForm(partEntryFields);
}
void PartEntrySetupForm(FIELD *partEntryFields)
{
.......
}
如果您不熟悉ncurses,则将FIELD定义为
typedef struct fieldnode
这是我得到的编译器错误:
错误:无法将参数'1'的'FIELD ** {aka fieldnode **}'转换为'FIELD * {aka fieldnode *}'转换为'void PartEntrySetupForm(FIELD *)'
我究竟做错了什么?
当您传递给它的是FIELD指针数组时,PartEntrySetupForm将使用FIELD *
,该数组将衰减为FIELD **
。 您需要传递数组的一个元素( partEntryFields[0]
)或更改函数以采用数组( void PartEntrySetupForm(FIELD **partEntryFields)
)。 您可以等效地将其声明为void PartEntrySetupForm(FIELD *partEntryFields[])
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.