Initialiser dans le constructeur de la liste d'initialisation

Je suis en train d'initialiser un tableau dans mon constructeur intialization liste, et je veux que le tableau à la taille MAX_SIZE, qui est un public static const dans ma Pile de classe. Comment puis-je le faire fonctionner? Le compilateur se plaint, disant qu'ils ont des types incompatibles dans la tâche de "double" à " double[0u]'

Voici mon code:

class Stack {
    public:      
          Stack();
          static const unsigned MAX_SIZE; 
    private:
          double array[];
          unsigned elements;     
    };  //class Stack

    Stack::Stack(): array( array[MAX_SIZE] ), elements(0) {}

    const unsigned Stack::MAX_SIZE = 4;

Merci d'avance pour votre aide.

Sauf si vous êtes complètement masochiste: static const unsigned max_size = 4; std::vector<double> array; Stack::Stack() : array(MAX_SIZE){}
Est-il un moyen plus simple peut-être? c'est à dire sans l'aide de vecteurs. Comment puis-je obtenir le programme d'accepter mon tableau de données de membre avec sa taille de MAX_SIZE?
Je voudrais obtenir utilisé à l'aide de std::vector. J'utilise rarement des tableaux; je vais utiliser un std::vector être de préférence presque tous les temps. Le code @Jesse Bonne a donné devrait fonctionner aussi bien.
Il y a des raisons valables pour éviter de vecteur. Vecteur initialise toujours sur un segment de mémoire tout en un tableau peut être initialisé sur la pile.

OriginalL'auteur Sean | 2012-06-04