2010-08-07 9 views
0

Que signifie la ligne 6? Je ne comprends pas ce que c'est, s'il vous plaît quelqu'un peut-il donner plus de détails à ce sujet?Appel de fonction/constructeur ambigu en C++

class A 
{ 
    int sz; 
    double *dptr; 
public: 
    A(int size) : sz(size) {dptr= new double[size];} // line 6 
    ~A();   // line 7 
}; 
A::~A()   // line 9 
{ 
    delete dptr[]; // line 11 
} 
+0

Quelle partie de la ligne 6? (BTW, ligne 11 est faux.) – kennytm

Répondre

4
A(int size) // a constructor with a size argument 
: sz(size) // initialize the sz member to the given size 
{ 
    dptr = new double[size]; // allocate an array of doubles with the given size 
} 
+0

+1, battez-moi à elle. – David

0

Cela signifie que le paramètre variable d'instance sz sera automatiquement initialisée à la valeur de la size donnée au constructeur.

0

Vous avez trouvé la réponse. Sa ligne similaire 6 est un appel de constructeur dans lequel la variable sz sera initialisée avec les paramètres d'entrée, c'est-à-dire "taille".

1

Vous avez un problm dans votre destructor - il faut lire:

A::~A()   // line 9 

{ 

    delete [] dptr; // line 11 

} 

Mais il n'y a pas d'autre erreur dans votre code.