首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

C的问题

C的问题

我在头文件(pnl.h)中这样定义:
#ifndef _PNL_H_
#define _PNL_H_
typedef struct{
               void (*calc)(void*);
               unsigned int rf;        //Q0,
给定频率
               unsigned int rul;       //Q0,
给定输出线电压有效值
               unsigned int rudc;      //Q0,
给定母线电压
               unsigned int run;       //Q0,
设定
               unsigned int f;
               unsigned int u1_max;
               unsigned int udc;
}PNL;

#define PNL_DEFAULTS{                   \
                     (void (*)(void*))pnl_calc, \
                     50,                 \
                     180,                \
                     310,                \
                     0,                  \
                     0,                  \
                     0,                  \
                     0,                  \
}

typedef PNL *PNL_Handle;
void pnl_calc(PNL_Handle);
#endif

主程序(AD.C)这样用:
#include "pnl.h"
PNL pnl=PNL_DEFAULTS;
void main(void)
{

}

编译出现下面问题:
"ad.c", line 13: [F001] syntax error at or near symbol ''
"ad.c", line 13: [F001] syntax error at or near symbol ''
"ad.c", line 13: [F141] illegal function call
"ad.c", line 13: [E152] initializer for 'pnl' has incompatible type
"ad.c", line 13: [F151] non-constant initializer for 'pnl'
这是为什么???
#define PNL_DEFAULTS和{之间多了个空格  别的都一样  哈哈
做人要做懒羊羊啊!
返回列表