Prevent accidental aggregates

*  The compiler can provide many non-explicit constructors for
   aggregate types.  This is sometimes desired, but it can
   happen accidentally, resulting in run-time errors.

*  This commit assures that no types are aggregates unless existing
   code is using aggregate initialization.
This commit is contained in:
Howard Hinnant
2018-04-04 11:56:20 -04:00
committed by Nikolaos D. Bougalis
parent b7335fdff5
commit db3b4dd396
110 changed files with 400 additions and 28 deletions

View File

@@ -221,6 +221,8 @@ private:
class DirectIPaymentStep : public DirectStepI<DirectIPaymentStep>
{
public:
explicit DirectIPaymentStep() = default;
using DirectStepI<DirectIPaymentStep>::DirectStepI;
using DirectStepI<DirectIPaymentStep>::check;
@@ -264,6 +266,8 @@ public:
class DirectIOfferCrossingStep : public DirectStepI<DirectIOfferCrossingStep>
{
public:
explicit DirectIOfferCrossingStep() = default;
using DirectStepI<DirectIOfferCrossingStep>::DirectStepI;
using DirectStepI<DirectIOfferCrossingStep>::check;