VC error C2660: 'ge' : function does not take 3 parameters

PickIt57 2021-03-09 10:30:18
为什么会有这个错误呀?
看了下没找出问题。
#include"stdio.h"
#include"math.h"
void main()
{
double ge();
double a,b,c,d;
a=2;
b=5;
c=2;
ge(a,b,c);
}

double ge(double a,double b,double c)
{
double m;
m=(-b+sqrt(b*b-4*a*c))/2*a;
return(m);
}
...全文
153 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
PickIt57 2021-03-10
  • 打赏
  • 举报
回复
引用 4 楼 自信男孩的回复:
#include <stdio.h>
#include <math.h>

//void main()
int main(void)
{
double ge(double, double, double);
double a,b,c,d;
a=2;
b=5;
c=2;
ge(a,b,c);
}

double ge(double a,double b,double c)
{
double m;
m=(-b+sqrt(b*b-4*a*c))/2*a;
return(m);
}

供参考~

函数声明有问题,楼主的声明更像调用,但是又加上了返回值,又不是函数调用。函数声明要确定参数,即使没有参数,建议用void。如果有参数,至少填上参数类型,参数名可以不用~
好的👌了解了
PickIt57 2021-03-10
  • 打赏
  • 举报
回复
引用 2 楼 qzjhjxj的回复:
问题见注释,供参考:
#include"stdio.h"
#include"math.h"
void main()
{
    double ge(double a,double b,double c);//函数声明必须函数实现写法一致
    double a,b,c,d;
    a=2;
    b=5;
    c=2;
    d=ge(a,b,c);     //函数返回赋值给d
    printf("%f\n",d);//输出看结果
    
}

double ge(double a,double b,double c)//函数实现
{
    double m;
    m=(-b+sqrt(b*b-4*a*c))/2*a;
    return(m);
}
okok谢谢大佬
PickIt57 2021-03-10
  • 打赏
  • 举报
回复
引用 1 楼 墨梅无痕的回复:
void main() { double ge(); double a,b,c,d; ………… 红色的这句是啥用意?
我的声明有问题,get it
自信男孩 2021-03-10
  • 打赏
  • 举报
回复
#include <stdio.h>
#include <math.h>

//void main()
int main(void)
{
double ge(double, double, double);
double a,b,c,d;
a=2;
b=5;
c=2;
ge(a,b,c);
}

double ge(double a,double b,double c)
{
double m;
m=(-b+sqrt(b*b-4*a*c))/2*a;
return(m);
}

供参考~

函数声明有问题,楼主的声明更像调用,但是又加上了返回值,又不是函数调用。函数声明要确定参数,即使没有参数,建议用void。如果有参数,至少填上参数类型,参数名可以不用~
快乐胖电工 2021-03-10
  • 打赏
  • 举报
回复
double get()。声明是没有参数的,后面调用的时候给了三个参数。
qzjhjxj 2021-03-09
  • 打赏
  • 举报
回复
问题见注释,供参考:
#include"stdio.h"
#include"math.h"
void main()
{
    double ge(double a,double b,double c);//函数声明必须函数实现写法一致
    double a,b,c,d;
    a=2;
    b=5;
    c=2;
    d=ge(a,b,c);     //函数返回赋值给d
    printf("%f\n",d);//输出看结果
    
}

double ge(double a,double b,double c)//函数实现
{
    double m;
    m=(-b+sqrt(b*b-4*a*c))/2*a;
    return(m);
}
墨梅无痕 2021-03-09
  • 打赏
  • 举报
回复
void main() { double ge(); double a,b,c,d; ………… 红色的这句是啥用意?

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧