读书人

初学者的一个关于C++的默认函数的程序

发布时间: 2012-03-02 14:40:28 作者: rapoo

菜鸟的一个关于C++的默认函数的程序问题
#include <iostream>
int areacube(int a,int b=25,int c=1);


int main()
{
using std::cout;
int a=100;
int b=50;
int c=2;
int d;

d=areacube(a,b,c);
cout < < "first area equals: " < <d < < "\n ";
d=areacube(a,b);
cout < < "second area equals: " < <d < < "\n ";
d=areacube(a);
cout < < "third area equals: " < <d < < "\n ";
return 0;
}
int areacube(int a,int b=25,int c=1)
{
return (a*b*c);
}

高手说下怎么错了?
编译器上是这么写的
D:\Microsoft Visual Studio\MyProjects\57\517.cpp(22) : error C2572: 'areacube ' : redefinition of default parameter : parameter 3
D:\Microsoft Visual Studio\MyProjects\57\517.cpp(2) : see declaration of 'areacube '
D:\Microsoft Visual Studio\MyProjects\57\517.cpp(22) : error C2572: 'areacube ' : redefinition of default parameter : parameter 2
D:\Microsoft Visual Studio\MyProjects\57\517.cpp(2) : see declaration of 'areacube '
Error executing cl.exe.

[解决办法]
C++规定!默认参数不可以重复声明!
看《C++ Primer》,上面有更多解答。

读书人网 >C++

热点推荐