Bonjour,
J'ai un code en C++ dans lequel je dois trouver les erreurs, le voici :
La seule erreur que j'ai trouvée pour l'instant c'est le ';' qui manque après l'accolade de fin de classe.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 typedef double T; class A{ public: int n; T *v; A(int nn=0):n(nn),v(n>0 ? new T[n]:0) {} T& operator [] (int i) { assert(v && (i>=0) && (i<n) ); return v[i]; } ~A() { if (v) delete [] v; } } int main( int argv, const char *[]) { A a(10), b(10); for (int i=0;i<10;i++) a[i]=i; b=a; A c(b); assert( c[4]==4); return 0; }
Dans le constructeur par exemple, je comprends pas ce que signifie cette ligne :
Je vois bien que c'est pour construire un tableau de type T et qui a nn éléments, mais c'est quoi le '?' ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part v(n>0 ? new T[n]:0)
Pareil dans le main, j'ai jamais vu des const char *[] je me dis que l'erreur vient peut-etre de là sachant que j'ai toujours vu des main du type :
Merci de bien vouloir m'aiguiller
Code : Sélectionner tout - Visualiser dans une fenêtre à part int main ( int argc, char *argv[])
Partager