1 pièce(s) jointe(s)
initialiser une structure
Salut à tous, je débute en c++,j'ai écrit en dev c++ cette fonction qui initialise deux champs d'une structure (int,float) en utilisant des pointeurs mais ça ne marche pas ,alors qu'avec des références ça marche très bien.
Voici mon code :
Code:
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 26 27 28 29 30 31
|
#include<iostream>
#include<conio.h>
using namespace std;
struct essai
{
int n;
float x;
};
struct essai raz(struct essai* es );
main()
{
struct essai ess;
struct essai e;
ess->n=60;//
ess->x=45.23;
cout<<"ess :"<<"[ "<<ess->n<<" ]" << "[ "<<ess->x<<" ]"<<endl;
e=raz(&ess);
cout<<"ess a 0 :"<<"[ "<<e->n<<" ]" << "[ "<<e->x<<" ]"<<endl;
getch();
}
struct essai raz(struct essai* es)
{
es->n=0;
es->x=0;
return es;
} |
Merci d'avence pour votre aide.
initialiser une structure
Merci pour vos réponses et vos conseils.
initialiser une structure
j'ai essayé ce petit programme et ça se compile très bien,mais à l'execution
il s'affiche toujours :
12 15.000000
0 0.000000
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| #include<iostream>
using namespace std;
struct essai
{
int n;
float x;
essai():n(0),x(0.0){}
essai(int n, float x):n(n),x(x){}
};
int main()
{
essai e; // initialisée à 0 et 0.0
essai e2(11,3.1415926) ;
std::cout<<e.n<<" "<<e.x<<std::endl
<<e2.n<<" "<<e2.x<<std::end;
return 0;
} |