How to declare an array without specifying its size, but with an initializer inside a class in C++?

This is not allowed because non-static data members might be initialized in different ways (with different sizes), including member initializer list, default member initializer, aggregate initialization, ... But the size of array must be fixed and known at compile-time, which can't be postponed until the initialization. e.g.

class dummy_class
{
    int nums[] = { 5, 4, 3 }; 
    dummy_class(...some_parameters) : nums { 5, 4, 3, 2 } ()
    dummy_class(...some_other_parameters) : nums { 5, 4, 3, 2, 1 } ()
};