我已经使用Dev C ++和SPC5 Studio编译了C代码,该代码的结构包含指向另一个结构的指针数组。
public override void CommitEditingStyle (UITableView tableView,UITableViewCellEditingStyle editingStyle, Foundation.NSIndexPath indexPath){
switch (editingStyle) {
case UITableViewCellEditingStyle.Delete:
// remove the item from the underlying data source
tableItems.RemoveAt(indexPath.Row);
// delete the row from the table
tableView.DeleteRows (new NSIndexPath[] { indexPath }, UITableViewRowAnimation.Fade);
break;
case UITableViewCellEditingStyle.None:
Console.WriteLine ("CommitEditingStyle:None called");
break;
}}
初始化如下所示
typedef struct
{
uint16 Identifier_u16;
void* const DataFncType;
}ClassCfg_ts;
typedef struct
{
uint32 Val_u32;
ClassCfg_ts* ClassRef_pu[2];
}atrb_paramCfg_ts;
其中定义了writeFunciton。当使用Dev C ++时,这种初始化效果很好,而在SPC5 studio中,它会发出警告,警告您使用花括号,并且只有在将初始化更改为
时,它才会消失ClassCfg_ts ClassCfg1_s[] = {
{0,writeFucntion},//read write fucntion
{1,writeFucntion},//read write fucntion
{2,writeFucntion},//read write fucntion
};
ClassCfg_ts ClassCfg2_s[] = {
{0,writeFucntion},//read write fucntion
{1,writeFucntion},//read write fucntion
{2,writeFucntion},//read write fucntion
};
atrb_paramCfg_ts atrb_paramCfg_s[] =
{
{0,ClassCfg1_s},
{0,ClassCfg2_s},
};
其中哪个是正确的初始化?
答案 0 :(得分:2)
ClassRef_p
是指向ClassCfg_ts
的指针的数组。您需要准备初始化数组。 {ClassCfg2_s}
是以上代码段中初始化它的正确方法。