一个奇怪的BCB的函数指针调用

本文探讨了一个用于计算规则波形数据的函数,在调用时遇到的数据类型不匹配问题。特别是对于函数参数中的波形数据传递方式存在疑问。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

有这样一个函数:

//计算规则波形的波形数据

void __stdcall LAI300_CacuWavePara(
                                  int WaveType,
                                  int xCycles,
                                  int yCycles,
                                  double Frequency,
                                  double Amplitude,
                                  double Offset,
                                  double Duty,
                                  unsigned int *mDots,
                                  double *mDacclk,
                                  double *mWaveData,
                                  double kr,
                                  double kf,
                                  double phase
                                 
                                  );

 

//调用:

      LAI300_CacuWavePara(
     mType,           //波类型
     mNumber,         //个数
                          0,
                          mFreq,           //频率
                          mAmplitude,      //幅度
                          mOffset,         //偏移
                          mDuty,           //占空比
                          &CH[0].mDots,    //波形点数
                          &CH[0].mDacclk,  //时钟
                          CH[0].mWaveData, //波形数据,这时为什没有使用地址作为参数,但定义中却指明了是一下指针参数啊???
                          mKr/100,         //上升时间
                          mKf/100,         //下降时间
                          mPhase           //相位
                          );

 

为什么定义的和调用的不一样呢?我试过用&CH[0].mWaveData传进去出错:大概说数据类型不一致?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值