我可以将默认参数传递给用户定义的 class 类型的参数吗?
can I pass default argument to parameter of user-defined class type?
我在下一行中收到错误 "default argument not at end of parameter list"。
Date(int m = 1, int d = 2, int y = 1900, Time); // default constructor
时间是用户定义的class。是否可以为 Time 提供默认参数?如果是,如何?如果不是,我该如何解决这个错误?
您可以将 Time
移动到开头,或者根据它拥有的任何构造函数为其提供默认参数。
Date(Time, int m = 1, int d = 2, int y = 1900);
//or
Date(int m = 1, int d = 2, int y = 1900, Time = Time(/*ctor args can go here*/));
或者,如果 Time
有转换构造函数,您可以提供该类型的值作为默认参数。
我在下一行中收到错误 "default argument not at end of parameter list"。
Date(int m = 1, int d = 2, int y = 1900, Time); // default constructor
时间是用户定义的class。是否可以为 Time 提供默认参数?如果是,如何?如果不是,我该如何解决这个错误?
您可以将 Time
移动到开头,或者根据它拥有的任何构造函数为其提供默认参数。
Date(Time, int m = 1, int d = 2, int y = 1900);
//or
Date(int m = 1, int d = 2, int y = 1900, Time = Time(/*ctor args can go here*/));
或者,如果 Time
有转换构造函数,您可以提供该类型的值作为默认参数。