鱼C论坛

 找回密码
 立即注册
查看: 2667|回复: 4

求各路大神帮看下c++的问题出在哪里

[复制链接]
发表于 2014-4-14 05:21:54 | 显示全部楼层 |阅读模式
1鱼币
本帖最后由 懒懒de高贵 于 2014-4-14 05:23 编辑

我的是win7 32位系统 用的vs2008学c++的函数重载 #include "stdafx.h"
#include <iostream>
#include <stdlib.h>
#include <stdio.h>
#include <tchar.h>
#include <windows.h>  //这些头文件我复制出来了

//下面是代码
int max(int a, int b)
{
        return 111;
}
int max(int a, int b, int c)
{
        return 222;
}
int _tmain(int argc, _TCHAR* argv[])
{
        printf ("%d %d\n", max(1,1), max(1,1,1));
        system ("pause");
        return 0;

}

//下面是错误
1>函数重载c++.cpp
1>c:\users\administrator\desktop\新建文件夹\函数重载c++\函数重载c++\函数重载c++.cpp(6) : error C2062: 意外的类型“int”
1>c:\users\administrator\desktop\新建文件夹\函数重载c++\函数重载c++\函数重载c++.cpp(6) : error C2062: 意外的类型“int”
1>c:\users\administrator\desktop\新建文件夹\函数重载c++\函数重载c++\函数重载c++.cpp(6) : error C2059: 语法错误 : “)”
1>c:\users\administrator\desktop\新建文件夹\函数重载c++\函数重载c++\函数重载c++.cpp(7) : error C2143: 语法错误 : 缺少“;”(在“{”的前面)
1>c:\users\administrator\desktop\新建文件夹\函数重载c++\函数重载c++\函数重载c++.cpp(7) : error C2447: “{”: 缺少函数标题(是否是老式的形式表?)
1>c:\users\administrator\desktop\新建文件夹\函数重载c++\函数重载c++\函数重载c++.cpp(10) : warning C4002: “max”宏的实参太多
1>c:\users\administrator\desktop\新建文件夹\函数重载c++\函数重载c++\函数重载c++.cpp(10) : error C2062: 意外的类型“int”
1>c:\users\administrator\desktop\新建文件夹\函数重载c++\函数重载c++\函数重载c++.cpp(10) : error C2062: 意外的类型“int”
1>c:\users\administrator\desktop\新建文件夹\函数重载c++\函数重载c++\函数重载c++.cpp(10) : error C2059: 语法错误 : “)”
1>c:\users\administrator\desktop\新建文件夹\函数重载c++\函数重载c++\函数重载c++.cpp(11) : error C2143: 语法错误 : 缺少“;”(在“{”的前面)
1>c:\users\administrator\desktop\新建文件夹\函数重载c++\函数重载c++\函数重载c++.cpp(11) : error C2447: “{”: 缺少函数标题(是否是老式的形式表?)
1>c:\users\administrator\desktop\新建文件夹\函数重载c++\函数重载c++\函数重载c++.cpp(16) : warning C4002: “max”宏的实参太多
1>生成日志保存在“file://c:\Users\Administrator\Desktop\新建文件夹\函数重载c++\函数重载c++\Debug\BuildLog.htm”
1>函数重载c++ - 10 个错误,2 个警告
========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========




//  不知道这到底是什么问题纠结了··我和别人一模一样的分毫不差··别人运行一点问题都没··我的这么多错误·还不知道到底是怎么回事:mad:

最佳答案

查看完整内容

首先,你说这是C++的函数重载,是的,看起来是C++的重载,但是里面都是C语言的用法,其次,你这错误是因为max函数是系统定义的函数,你把函数名max改为max1或者其他函数名,然后你再调用,就可以了,希望能帮到你……
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-4-14 05:21:55 | 显示全部楼层
首先,你说这是C++的函数重载,是的,看起来是C++的重载,但是里面都是C语言的用法,其次,你这错误是因为max函数是系统定义的函数,你把函数名max改为max1或者其他函数名,然后你再调用,就可以了,希望能帮到你……
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-4-14 20:11:26 | 显示全部楼层
练习函数的重载为什么要这么麻烦?!
看下面:
#include <iostream>

int max(int a, int b)
{
        return 111;
}
int max(int a, int b, int c)
{
        return 222;
}

int main()
{
      int x=1,y=2,z=3;

      cout<<max(x,y)<<endl;
      cout<<mac(x,y,z)<<endl;

      return 0;
}
然后看结果
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2014-4-14 22:39:17 | 显示全部楼层
其实问题出在编译器上面····哈哈··最新版本比较高的vs 都自动把max定义成了宏··所以我写max才会报错·
改成maxx就没问题了··
还有就是我刚学c++看的是郁金香的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-4-15 10:53:52 | 显示全部楼层
新建控制台、空项目就好了,没必要stdafx
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-24 02:56

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表