求各路大神帮看下c++的问题出在哪里
本帖最后由 懒懒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或者其他函数名,然后你再调用,就可以了,希望能帮到你…… 练习函数的重载为什么要这么麻烦?!
看下面:#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;
}然后看结果 其实问题出在编译器上面····哈哈··最新版本比较高的vs 都自动把max定义成了宏··所以我写max才会报错·
改成maxx就没问题了··
还有就是我刚学c++看的是郁金香的 新建控制台、空项目就好了,没必要stdafx
页:
[1]