加window头文件就不能运行

AC_YE 2020-03-26 05:19:36
我在用自定义函数可以运行,但我一加Windows头文件就运行不了,加math头文件就可以这是什么问题
...全文
628 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
Z---A 2020-04-05
  • 打赏
  • 举报
回复
我碰到有的自己不会的问题,我就逐渐减少代码量一点一点筛查。 有的时候ide会出问题 这个我也不太懂 反正换了重新跑一次代码就正常了,也不报错啥的😂
程序鸡 2020-03-31
  • 打赏
  • 举报
回复
引用 17 楼 xiaobaicaiaihe的回复:
[quote=引用 13 楼 akari10032的回复:]估计重名了,给你的函数换个名字就好了,C里面不支持函数重载,而且我觉得Windows.h里面的应该是个宏
但为什么不加Windows头文件我直接用Max就可以运行,加了Windows就函数重载,难道头文件会导致函数重载吗[/quote] 函数重载是,两个函数的函数名相同,参数个数或参数类型不同,概括说就是形参列表不同,包含windows.h就相当于把这个头文件里的函数都写在了你的这个文件,windows里面可能有max函数,你也自定义了一定同名函数,所以会出错。
AC_YE 2020-03-27
  • 打赏
  • 举报
回复
引用 14 楼 akari10032的回复:
另外,自己写函数最好不要直接用max,min,swap,sort之类的看起来很简洁的命名,这些很可能系统头文件已经使用了,加一个一眼就能看出来是自定义的标识,比如my_xxx,或者projectname_xxx
谢谢指导 OK
akari10032 2020-03-27
  • 打赏
  • 举报
回复
另外,自己写函数最好不要直接用max,min,swap,sort之类的看起来很简洁的命名,这些很可能系统头文件已经使用了,加一个一眼就能看出来是自定义的标识,比如my_xxx,或者projectname_xxx
akari10032 2020-03-27
  • 打赏
  • 举报
回复
估计重名了,给你的函数换个名字就好了,C里面不支持函数重载,而且我觉得Windows.h里面的应该是个宏
千梦一生 2020-03-27
  • 打赏
  • 举报
回复
确实不知道,你这也没几个代码,顶多重新写一遍。

新建工程。建好运行一遍。。
再include<windows.h>,再运行一遍。
再写,再运行,直到出错,或者没再出错了。就可以对比一下。
但重写时,不建议复制粘贴
AC_YE 2020-03-27
  • 打赏
  • 举报
回复
引用 10 楼 千梦一生的回复:
留下include <windows.h>把你那个max删了重写。包括声明
先删掉,直接运行main。看有没有错,有错改了。
再重新写一遍你的max
我试试看,谢谢
千梦一生 2020-03-27
  • 打赏
  • 举报
回复
留下include <windows.h>把你那个max删了重写。包括声明
先删掉,直接运行main。看有没有错,有错改了。
再重新写一遍你的max
AC_YE 2020-03-27
  • 打赏
  • 举报
回复
引用 7 楼 千梦一生的回复:
把windows.h扔到最上面去。看看报错有没有什么变化。
有时候遇到一些错误,确实有点莫名其妙,只能尽量干了。尽量排查。缩小范围。

以前自己也遇到过奇奇怪怪的问题。也有没有解决出来的时候,只有全部放弃从头再来。
把他放到最上面也一样,但是把他放到double自定义函数下面 报错地方就变了 变到下面的调用函数那里就double max(double a,double b)
AC_YE 2020-03-27
  • 打赏
  • 举报
回复
引用 6 楼 千梦一生的回复:
有没有不小心动过windows.h
我就直接打Windows头文件,没有这个头文件就可以运行,有就不行,但我添加其他的头文件就可以
千梦一生 2020-03-27
  • 打赏
  • 举报
回复
把windows.h扔到最上面去。看看报错有没有什么变化。
有时候遇到一些错误,确实有点莫名其妙,只能尽量干了。尽量排查。缩小范围。

以前自己也遇到过奇奇怪怪的问题。也有没有解决出来的时候,只有全部放弃从头再来。
千梦一生 2020-03-27
  • 打赏
  • 举报
回复
有没有不小心动过windows.h
千梦一生 2020-03-27
  • 打赏
  • 举报
回复
不知道。这个问题有点难
AC_YE 2020-03-27
  • 打赏
  • 举报
回复
引用 18 楼 akari10032的回复:
[quote=引用 17 楼 xiaobaicaiaihe的回复:][quote=引用 13 楼 akari10032的回复:]估计重名了,给你的函数换个名字就好了,C里面不支持函数重载,而且我觉得Windows.h里面的应该是个宏
但为什么不加Windows头文件我直接用Max就可以运行,加了Windows就函数重载,难道头文件会导致函数重载吗[/quote] 感觉有点误导你了,你暂时把重载这两个字忘掉吧,C里压根没有重载的概念。另外这个头文件里是用宏实现的max,你可以点进去看看。不懂的话去学下关于宏定义的知识[/quote] okay ....
akari10032 2020-03-27
  • 打赏
  • 举报
回复
引用 17 楼 xiaobaicaiaihe的回复:
[quote=引用 13 楼 akari10032的回复:]估计重名了,给你的函数换个名字就好了,C里面不支持函数重载,而且我觉得Windows.h里面的应该是个宏
但为什么不加Windows头文件我直接用Max就可以运行,加了Windows就函数重载,难道头文件会导致函数重载吗[/quote] 感觉有点误导你了,你暂时把重载这两个字忘掉吧,C里压根没有重载的概念。另外这个头文件里是用宏实现的max,你可以点进去看看。不懂的话去学下关于宏定义的知识
AC_YE 2020-03-27
  • 打赏
  • 举报
回复
引用 13 楼 akari10032的回复:
估计重名了,给你的函数换个名字就好了,C里面不支持函数重载,而且我觉得Windows.h里面的应该是个宏
但为什么不加Windows头文件我直接用Max就可以运行,加了Windows就函数重载,难道头文件会导致函数重载吗
AC_YE 2020-03-27
  • 打赏
  • 举报
回复
引用 13 楼 akari10032的回复:
估计重名了,给你的函数换个名字就好了,C里面不支持函数重载,而且我觉得Windows.h里面的应该是个宏
确实是可以了
AC_YE 2020-03-26
  • 打赏
  • 举报
回复
引用 3 楼 真相重于对错的回复:
看错了
那请问那里有问题?
真相重于对错 2020-03-26
  • 打赏
  • 举报
回复
看错了
AC_YE 2020-03-26
  • 打赏
  • 举报
回复
引用 1 楼 真相重于对错的回复:
c不支持函数重载吧?
什么意思,能说具体点吗,谢谢
加载更多回复(1)

69,369

社区成员

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

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