begin process at 2012 05 29 16:23:56
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

pourquoi ca marche pas :'(


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

pourquoi ca marche pas :'(

jeudi 8 avril 2004 à 17:51:41 | pourquoi ca marche pas :'(

xboxut


salut j ai un probleme avec une fonction pour initialiser des particules,pouvez vous me dire pourquoi il ne marche pas et comment le faire marcher


#include "structure.cpp"

class particule{
public:
float x0;
float y0;
vector direction;
float x;
float y;
short time;
};

int particulegenerator(int X,int Y,particule *P[])
{
for(int i=0;i<sizeof(P)/sizeof(particule*);i++)
{
if(P[i]==NULL){ //la j ai un probleme le compil m affiche une erreur
P[i]=new particule();

}
//P[1]->x=100;
}
return 0;
}


cette fonction sert a initialiser les particules dans un tableau puis a remplacer les particules qui sont "mortes" donc qui sont supprimee par de nouvelles particules...(on teste si le pointeur est ok ou point)
vendredi 9 avril 2004 à 09:11:02 | Re : pourquoi ca marche pas :'(

econs

Administrateur CodeS-SourceS

particule est une classe. Par conséquent, il doit lui être associé un constructeur et un destructeur.

La commande "new" fait appel au constructeur de la classe qui se trouve juste derrière. Pour toi, new fait appel à "rien" et donc plantera lamentablement ...








//Fichier particule.h

class particule{
public:
float x0;
float y0;
vector direction;
float x;
float y;
short time;
particule();
particule(float x,float y);
virtual ~particule();
};




//Fichier particule.cpp

particule::particule()
{
//initialise la particule avec des valeurs nulles partout
x0 =0;
y0=0;
[...]
}


particule::particule(float x, float y)
{
//initialise la particule avec quelques valeurs
x0 =x;
y0=y;
[...]
}

virtual particule::~particule()
{
// détruit les pointeurs présents dans ta classe

}





// Ton programme appelant
#include "particule.h"

int main(void)
{
particule * p;
particule * p1;
p = new particule(); // particule vide
p1 = new particule(300,200); // particule avec initialisation
return 0;
}



Manu
vendredi 9 avril 2004 à 12:37:07 | Re : pourquoi ca marche pas :'(

ymca2003

il y a un pb au niveau de la fct de génération, il faut que tu ajoute un paramètre : le nombre d'élément du tableau, car tu ne peut pas faire siszeof(P)/sizeof(P[0]) pour l'obtenir, cela ne marche qu'avec des tableaux statiques.

vendredi 9 avril 2004 à 12:39:31 | Re : pourquoi ca marche pas :'(

ymca2003


econs -> chaque classe a un constructeur par défaut sans paramètres même si tu n'en met pas un explicitement, on peut donc faire new CParticule().
Par contre dè que l'on met un constructeur avec paramètres, le constructeur par défaut sans paramètre doit être mis explicitemenent.
vendredi 9 avril 2004 à 19:48:09 | Re : pourquoi ca marche pas :'(

xboxut

ok merci j ai resolu le probleme,maintenant mon code marche parfaitement et sans constructeur explixcite ;)

comment on fait pour voir le nombre d element pour un tableau dyna?
samedi 10 avril 2004 à 21:51:26 | Re : pourquoi ca marche pas :'(

ymca2003

on peut pas, c'est à toi de savoir ce que tu alloue ou passe en paramètre à une fonction


Cette discussion est classée dans : fonction, int, marche, float, particules


Répondre à ce message

Sujets en rapport avec ce message

fonction et matrice [ par herve_blondel ] bonjour a tous.je suis un debutant en C++ et j'aimerais ecrire un fonction qui prend en argument une matrice et me retourne une matrice(je sais ce que Help, DevC++ fonction retournant un float, résultat très étrange... [ par yom007 ] Bonjour,   je travaille sous devC++ et là c'est l'incompréhension, peut-etre qu'une ame charitable pourra venir à mon secours...J'ai reussi à isoler m Une fonction qui ne marche pas..... [ par wizard512 ] Bonjours a tous,et joyeux noel pour ceux qui le fête,j'ai besoin d'un peu d'aide pour une fonction que j'ai cré Surdefinition de fonction [ par samaie ] float test(int i, int j) { return (float) i+j; } float test(float i, float j) <p align="le Conversion Float -> Int [ par DroledeBx ] Bonjour,J'ai un problème de conversion entre un float et un entier.Je récupère dans un fichier, sous le type float, une valeur décimale, trois chiffre Algo utile ou complètement "bidon"?? [ par ninjagtr ] Bonjour,Je suis tombé sur un bout de code et je ne sais pas s'il a une utilité (autre que de me faire chercher lol).Voici le code : int Devinez(int x) Mettre un char * dans un float. [ par kaervas ] Bonjour, J'aimerais recuperer une chaine du genre "2.16" et la mettre dans un float.. J'ai essayer de recoder la fonction mais probleme avec la precis argument d'une fonction [ par tomalille ] bonjour, j'ai une question qui va vous sembler très bête mais bon...J'ai besoin de faire une fonction ayant un tableau multidimentionnel en paramètre. la fonction gotoxy() [ par S_M_E ] c encore moi personne n'a encore répondu à mon problème, JE VEUX DEPLACE le curseur de le fenetre dos à des endroit bien précis ave DEV C++, j'ai trou probleme structure et fonction [ par yanne1985 ] salutj'ai lcode suivanttypedef struct{    int n;   //......}essai;void miseZero(type **un_type){    (*un_type)->n=0;}int main(){    type *un_type;   


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,936 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales