規格を読む限り、explicitデフォルトコンストラクターを持つクラスを、空の初期化リストでリスト初期化できると思う。
12.3.1 [class.conv.ctor] p2
A default constructor may be an explicit constructor; such a constructor will be used to perform default-initialization or value-initialization (8.5).
とあり、デフォルト初期化か値初期化が可能である。また、リスト初期化で初期化リストが空の場合、
8.5.4 [dcl.init.list] p3
If the initializer list has no elements and T is a class type with a default constructor, the object is value-initialized.
単にデフォルトコンストラクターと言っているので、explicitかどうかは問わないはずだ。
No comments:
Post a Comment