C++ 我可以将默认参数传递给用户定义类类型的参数吗?
我在下一行得到错误“默认参数不在参数列表的末尾”C++ 我可以将默认参数传递给用户定义类类型的参数吗?,c++,arguments,default,C++,Arguments,Default,我在下一行得到错误“默认参数不在参数列表的末尾” Date(int m = 1, int d = 2, int y = 1900, Time); // default constructor 时间是一个用户定义的类。是否可以使用默认参数提供时间?如果是,如何进行?如果否,如何修复此错误?您可以将时间移到开头,或者根据其具有的任何构造函数为其指定默认参数 Date(Time, int m = 1, int d = 2, int y = 1900); //or Date(int m = 1, i
Date(int m = 1, int d = 2, int y = 1900, Time); // default constructor
时间是一个用户定义的类。是否可以使用默认参数提供时间?如果是,如何进行?如果否,如何修复此错误?您可以将
时间
移到开头,或者根据其具有的任何构造函数为其指定默认参数
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
具有转换构造函数,则可以提供该类型的值作为默认参数。这解决了问题。谢谢:)