结构初始化不匹配的变量

时间:2012-04-03 23:22:50

标签: c++ c

我很担心这是做什么的:

#define AIR_LP 1

tw_lptype airport_lps[] = {
  {
    AIR_LP, sizeof(Airport_State),
    (init_f) Airport_StartUp,
    (event_f) Airport_EventHandler,
    (revent_f) Airport_RC_EventHandler,
    (final_f) Airport_Statistics_CollectStats,
    (statecp_f) NULL
  },
  { 0 },
};

struct tw_lptype
{
  init_f init;
  event_f event;
  revent_f revent;
  final_f final;
  map_f map;
  size_t state_sz;
};

我想我对结构声明AIR_LP和sizeof(Airport_state)中的前两个变量感到困惑,我理解其余所做的事情,所以如果有人能给我一些关于这两个部分是什么的信息去那将是伟大的。

1 个答案:

答案 0 :(得分:0)

如果不了解所涉及的类型,很难回答您的问题。你遇到的问题是,当你的结构有6时,你的初始化有7个属性。AIR_LP, sizeof(Airport_State),是独立的元素,不像初始化的其余部分,它由一个类型转换后跟一个值组成。