Comment puis-je créer un tableau d'objets de la classe dont le constructeur ne requièrent que peu d'arguments?

J'ai lu à propos de la solution const A a[3] = { {0,0}, {1,1}, {2,2} }, mais dans mon programme const ne peut pas être utilisé:

class Paper: public PaperQueue{  
  ...
  protected:
    typedef int (Utils::*funcPtr) (int, int); //I use external function there
    funcPtr p;                               
    Utils* fptr; 
  public:
    int pricefunc(){     
      addprice = (fptr->*p) (t,price);
    }

    Paper(int n, unsigned int pr):PaperQueue(n){         
       ...
       p=&Utils::commonpricefunc;    
    }
    void Put(int a){ 
       ...
    }
  ...
}    

class Bank{ 
  ...
  void Buy(Paper &p){
   (/*this function modifies many parameters in 'p'*/)
  ...
  }
  ...
}

int main(){
Bank B;    
int pn=5;
/* ? */ const Paper p[pn] = {{5,15},{5,15},{5,15},{5,15},{5,15}}; /* ? */
int paperloop=0;
...
p[paperloop].Put(p[paperloop].addprice);
B.Buy(p[paperloop]);
...

Qui me donne BEAUCOUP d'erreurs(avec pricefunc (), (), Acheter(),...), ou tout simplement "variable objet de la taille de ‘p’ ne peut pas être initialisé". Est-il possible de faire cette matrice de travail? (Tout fonctionne bien si pas de passer des paramètres au constructeur!)

**const Paper p[pn] ?
J'ai besoin de créer un tableau, quelque chose comme Paper (p[pn])(5,25) ou quelque chose... Tous les constructeurs devraient recevoir ces paramètres et p[i] ne devrait pas être en lecture seule de l'objet.
C'était juste audacieuse balise à l'intérieur d'un code.

OriginalL'auteur Slowpoke | 2012-11-23