首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

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

2012-03-02 
菜鸟的一个关于C++的默认函数的程序问题#include iostreamintareacube(inta,intb25,intc1)intmain(){

菜鸟的一个关于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》,上面有更多解答。

热点排行