Toujour pb avec la onction destructeur

cs_Miss1 Messages postés 221 Date d'inscription vendredi 21 octobre 2005 Statut Membre Dernière intervention 22 décembre 2010 - 15 nov. 2005 à 17:32
cs_Miss1 Messages postés 221 Date d'inscription vendredi 21 octobre 2005 Statut Membre Dernière intervention 22 décembre 2010 - 16 nov. 2005 à 10:52
le pb dans la fonction c'est qu'il me dit qu'il ne reconnait pas la syntax et qu'il y a un pb avec new de meme avec strcpy

tableau::tableau (const tableau & t)
{
int i=0;
taille=t.taille
t= new [taille+1];
strcpy (t,tableau);

}

10 réponses

BunoCS Messages postés 15475 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 23 avril 2024 103
15 nov. 2005 à 17:42
tu as oublié de spécifier le type avec new:
t = new int[taille]; // pourquoi +1 d'ailleurs? ce ne sont pas des chaines de caractères que tu manipule

le strcpy (qui veut dire "string copy") n'est valable que pour les chaines de caractères... il faut utiliser memcpy

Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
0
cs_Miss1 Messages postés 221 Date d'inscription vendredi 21 octobre 2005 Statut Membre Dernière intervention 22 décembre 2010
15 nov. 2005 à 17:49
Merci je vé essayé au féte que signifie memcpy
0
cs_Miss1 Messages postés 221 Date d'inscription vendredi 21 octobre 2005 Statut Membre Dernière intervention 22 décembre 2010
15 nov. 2005 à 17:54
J'ai fé se que tu ma dit et ca ne fonctionne tjrs pas. Bon je vé essayé de trouvé la solution. salut
0
fetsr Messages postés 24 Date d'inscription lundi 14 mars 2005 Statut Membre Dernière intervention 31 mars 2006
15 nov. 2005 à 19:48
Etrange ta fonction, tu veux modifier une variable que tu declare const, forcement, ca pose probleme.

Si je reprend ton code precedent:
class tableau
{
private:
int taille; // variables//
int *pointeur; // variables//

public:
tableau( int t, int * p); // constructeur//
tableau (const tableau & t); // constructeur par recopie de la classe tableau//
~tableau (); // destructeur//
};

c'est sur le pointeur qu'il faut faire le new.
De plus, declare toujours tes destructeurs en virtual.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Miss1 Messages postés 221 Date d'inscription vendredi 21 octobre 2005 Statut Membre Dernière intervention 22 décembre 2010
15 nov. 2005 à 20:18
que veut tu dire par virtual , je n'est jamais appris cela
0
cs_Miss1 Messages postés 221 Date d'inscription vendredi 21 octobre 2005 Statut Membre Dernière intervention 22 décembre 2010
15 nov. 2005 à 20:20
pourqoui faire new sur le pointeur cela entrainera quoi
0
cs_Miss1 Messages postés 221 Date d'inscription vendredi 21 octobre 2005 Statut Membre Dernière intervention 22 décembre 2010
15 nov. 2005 à 20:21
De plusn si quelqu'un s se q veut dire memcpy sera gentil de me le dire
0
luhtor Messages postés 2023 Date d'inscription mardi 24 septembre 2002 Statut Membre Dernière intervention 28 juillet 2008 6
15 nov. 2005 à 21:37
Un conseil ? apprend le C++. Car au point ou tu en es, sans vouloir t'offenser, mieux vaut que tu revois les bases.
0
BunoCS Messages postés 15475 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 23 avril 2024 103
16 nov. 2005 à 09:17
MSDN également pour avoir le détail des fonctions

Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
0
cs_Miss1 Messages postés 221 Date d'inscription vendredi 21 octobre 2005 Statut Membre Dernière intervention 22 décembre 2010
16 nov. 2005 à 10:52
merci c'est ce que je fé mé j'ai du mal a cerné le c++ alors que le C je n'ai pas vraiment de pb. Je vé trouvé la solution toute seul. Merci quand même.
0
Rejoignez-nous