2403_90003939 2024-12-27 20:58 采纳率: 0%
浏览 54

123.C(21): error C267: 'Lcd1602_String': requires ANSI-style prototype

123.C(21): error C267: 'Lcd1602_String': requires ANSI-style prototype该怎么改

#include <reg52.h>
#include <lcd1602.h>
#include <delay.h>
#include <adc0832.h>
 
unsigned int MPX4115_GetPressure(unsigned char Ad)    
{
    unsigned int Pressure = 0;        
    if(14<Ad<243)                    
    {
        int Vary = Ad;
        Pressure = (((10.0/23.0)*Vary)+9.3)*10;             
    }
    return Pressure;
    
}
void main(void)
{
    unsigned int Pressure = 0;        
    Lcd1602_Init();                              
    Lcd1602_String(0,0,"  MPX4115 Test  ");    问题在这,怎么改都不对                 
    while(1)
    {        
        Pressure = MPX4115_GetPressure(ADC0832(0,0));            
 
        Lcd1602_String(0,1,"Pressure:");
        Lcd1602_Write_Data(Pressure/1000 + 0x30);  

  • 写回答

1条回答 默认 最新

  • 关注

    以下回复参考:皆我百晓生券券喵儿等免费微信小程序作答:

    这个错误提示表明在C代码中有一个函数 'Lcd1602_String' 需要使用ANSI风格的原型声明。在早期的C编程中,函数原型声明的方式与现代C编程有所不同,特别是在参数类型和数量方面。为了解决这个问题,你需要确保你的函数声明遵循ANSI C的标准风格。以下是你可以采取的一些步骤:

    旧的函数声明方式(非ANSI风格):

    void Lcd1602_String(); // 非ANSI风格的函数声明
    

    新的函数声明方式(ANSI风格):

    你应该提供一个具体的参数类型和数量,并且为每个参数指定一个名称。例如:

    假设这个函数需要传递一个字符串指针作为参数,可以这样声明:

    void Lcd1602_String(const char* message); // ANSI风格的函数声明,这里只是一个示例,实际参数可能不同
    

    修改建议:

    1. 找到引发错误的 'Lcd1602_String' 函数声明。确保它与函数定义匹配。如果函数定义在另一个文件中,确保头文件中的声明与实现匹配。
    2. 根据函数的实际需求,使用正确的参数类型和数量来更新函数声明。确保这些参数与函数定义中的参数一致。如果你不确定应该使用哪些参数,请查看函数的实现或文档。
    3. 如果更改了函数声明,请确保所有调用此函数的代码都使用了新的声明格式。同时更新相关的头文件,以便其他文件能够正确地引用新的函数声明。

    通过以上步骤,你应该能够解决这个错误并使代码遵循ANSI风格的函数原型声明要求。如果你还有其他问题或需要进一步的帮助,请提供更多关于代码的具体信息。

    评论

报告相同问题?

问题事件

  • 修改了问题 12月27日
  • 创建了问题 12月27日