In practice, your custom class should have either no ctor or at least a no-arg ctor. This is practical advice in [[c++ primer]]
The array-new operator, vector and other containers all require that
– either your class has no ctor
– or you provide a no-arg.
In other words, no-arg is the first ctor to be provided.