关于c++函数在main函数声明使用的

路熊 发布于 2013/12/03 20:46
阅读 715
收藏 0

Serverless 架构就不要服务器了?>>>

菜鸟请教大神们,为啥第一种不行:(错误信息)error: default argument given for parameter 2 of 'void show(const char*, int)' [-fpermissive]
after previous specification in 'void show(const char*, int)' [-fpermissive]

第二种可以编译通过啊!

第一种:

#include <iostream>

using namespace std;
void show(const char *param,int n=0);
int main() {
    char param1[50] = "第一个参数";
    show(param1);
    show(param1,3);
    return 0;
}

void show(const char *param,int n=0) {
    static int use = 0;
    ++use;
    if (n == 0) {
        cout<<param<<endl;
    } else {
        for (int i = 0; i < use; ++i) {
            cout<<param<<endl;
        }
    }

}

第二种

#include <iostream>

using namespace std;
void show(const char *param,int n=0) {
    static int use = 0;
    ++use;
    if (n == 0) {
        cout<<param<<endl;
    } else {
        for (int i = 0; i < use; ++i) {
            cout<<param<<endl;
        }
    }

}
int main() {
    char param1[50] = "第一个参数";
    show(param1);
    show(param1,3);
    return 0;
}

加载中
0
hehuim
hehuim
错误提示信息不是说了啊! 默认参数给了两次
hehuim
hehuim
回复 @东坡苏 : 把第二个n=0中的“=0”去掉
路熊
路熊
额。。嘿嘿看不懂什么意思
0
路熊
路熊
多谢啦!恍然啊!
返回顶部
顶部