首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >错误#92:标识符列表参数只能用于函数定义

错误#92:标识符列表参数只能用于函数定义
EN

Stack Overflow用户
提问于 2012-06-20 08:40:37
回答 2查看 6.6K关注 0票数 0

我正在尝试编译一些代码,但遇到了一些我似乎无法解决的问题。最初,我有三个错误,但我已经缩小到一个我似乎无法解决的错误。我现在正在处理三个文件: voltcon.c、mss_ace.c和mss_ace.h。我已将有关代码粘贴如下:

在mss_ace.c内部

代码语言:javascript
复制
    void ACE_init( void )
    {
    /* Initialize driver's internal data. */
        ace_init_flags();

    /* Initialize the data structures used by conversion functions. */
    ace_init_convert();
    }

    void ACE_configure_sdd
    (
sdd_id_t            sdd_id,
sdd_resolution_t    resolution,
    uint8_t             mode,
    sdd_update_method_t sync_update
    )
    {
    ...
    }

在mss_ace.h内部

代码语言:javascript
复制
    typedef enum
    {
        SDD0_OUT = 0,    /*!< Analog Module 0 Sigma Delta DAC */
        SDD1_OUT = 1,    /*!< Analog Module 1 Sigma Delta DAC */
        SDD2_OUT = 2,    /*!< Analog Module 2 Sigma Delta DAC */
        NB_OF_SDD = 3
    } sdd_id_t;

    typedef enum
    {
        SDD_8_BITS = 0,
        SDD_16_BITS = 4,
        SDD_24_BITS = 8
    } sdd_resolution_t;

    #define SDD_CURRENT_MODE    1
    #define SDD_VOLTAGE_MODE    0
    #define SDD_RETURN_TO_ZERO  0
    #define SDD_NON_RTZ         2

    typedef enum
    {
        INDIVIDUAL_UPDATE = 0,
        SYNC_UPDATE = 1
    } sdd_update_method_t;

    void ACE_init(void);

    void ACE_configure_sdd(sdd_id_t sdd_id, sdd_resolution_t resolution, uint8_t mode, sdd_update_method_t sync_update);

内电压c

代码语言:javascript
复制
    #include <stdint.h>
    #include <math.h>
    #include <string.h>
    #include <stdio.h>
    #include "../../N3V2_hardware/biarri/firmware/drivers/mss_ace/mss_ace.h"

    sdd_id_t this_sdd_id = SDD0_OUT;
    sdd_resolution_t this_sdd_resolution = SDD_16_BITS;
    uint8_t this_mode = SDD_VOLTAGE_MODE;
    sdd_update_method_t this_sdd_update_method = INDIVIDUAL_UPDATE;

    void ACE_init();

    void ACE_configure_sdd(this_sdd_id, this_sdd_resolution, this_mode, this_sdd_update_method);

我得到的错误如下:

voltcon.c:错误:#92:标识符列表参数只能用于函数定义

这个错误告诉我的是,它可能与函数的第三个参数有关。

--更新--错误是由代码中的最后一行引起的(空ACE_configure_sdd 1)。我对此表示歉意。#92只是一个代码,它没有引用实际的代码行。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-06-20 08:45:57

尝试从ACE_configure_sdd中删除voltcon.c的声明。因为它已经在mss_ace.h了。

您似乎正在尝试从voltcon.c调用voltcon.c,但在c中,您只能从另一个函数的内部调用一个函数。

您可以尝试在voltcon.c中这样做:

代码语言:javascript
复制
void func1()
{
ACE_configure_sdd(this_sdd_id, this_sdd_resolution, this_mode, this_sdd_update_method);
}

现在,可以从代码或main()本身中的其他函数调用func1。希望这能有所帮助。

票数 1
EN

Stack Overflow用户

发布于 2016-03-04 08:34:37

voltcon.c中的最后一行似乎是函数ACE_configure_sdd的声明,但缺少对其变量的类型声明。这就是错误" error:#92“出现的原因。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11115795

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档