zoukankan      html  css  js  c++  java
  • [debug]重定义默认參数

    编敲代码过程中遇到重定义默认參数的错误,例如以下例所看到的:

    #include<iostream>
    #include<stdlib.h>
    using namespace std;
    class Student
    {
    private:
    	int number;
    	char name[10];
    public:
    	Student(int n = 0, char *s = "no name");
    };
    Student::Student(int n = 0, char *s = "no name")
    {
    	number = n;
    	strcpy_s(name, s);
    }
    int main()
    {
    	Student s1;
    	return 0;
    }




    请教他人发现了原因所在:

    1:參数的默认值仅仅能够出如今函数声明中不能够出如今函数的定义中,否则会出现參数反复定义默认參数的错误---->>语法规定

        1定义和声明分开:默认值仅仅能够出如今声明中
        2定义和声明不分开,默认值仅仅能出如今定义中



    例外:(vs2013能够将默认值出如今定义而不出如今声明中)---->>不把标准当回事
    例如以下所看到的:



    经測试,在vc6.0以及Liunx平台下,当定义和声明分开时:默认值仅仅能够出如今声明中

    建议编程者还是按标准做得好

  • 相关阅读:
    01背包问题
    数据库并发的问题
    NGINX
    代理模式(静态代理)
    桥接模式
    组合模式
    jmeter-xpath Assertion断言
    jmeter-xpath Extractor 使用
    jmeter-html链接解析器使用
    js-浏览器对象
  • 原文地址:https://www.cnblogs.com/yfceshi/p/7067035.html
Copyright © 2011-2022 走看看