bonjour,
je voudrais connaitre la distance entre deux objets. j'ai donc fait une classe distance qui reçoit en parametre un point3D(il ignore la position y) et un point2D et il revoie un float point 2D et point 3D sont identiques a une coordonée près.
point2D.cpp :
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
26
27
28
#include "point2D.h"
 
point2D::point2D(float a_X, float a_Z) : X(a_X), Z(a_Z)
{
}
bool operator==(point2D point1, point2D point2)
{
    if (point1.X == point2.X && point1.Z == point2.Z)
    {
        return true;
    }
    else
    {
        return false;
    }
}
void point2D::operator=(point2D point)
{
    X = point.X;
    Z = point.Z;
}
point2D operator+=(point2D point1, point2D point2)
{
    point2D point3;
    point3.X=(point1.X+=point2.X);
    point3.Z=(point1.Z+=point2.Z);
    return point3;
}
et le .h
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
#ifndef POINT2D_H
#define POINT2D_H
 
class point2D
{
public:
    void operator=(point2D point);
    point2D(float a_X = 0, float a_Z = 0);
    float X;
    float Z;
};
 
#endif // POINT2D_H
j'ai donc un de mes deux objets qui a une variable globale m_pos
(dans le .h en private)
et une de ses fonctions est :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
point2D objet::getPos()
{
     return m_pos;
}
j'ai une boucle dans laquelle getPos() est utilisé.
quand je lance mon programme (avec debogeur) il marche puis au bout d'un certain nombre de tour de boucle il plante et je reçois un signal SIGSEGV segmentation fault.
je n'utilise aucun pointeur et cette partie du code n'utilise aucun tableau je ne vois pas ce qui pourrait causer ça.
quelqu'un pourrait m'aider ?
merci