je travail un exercice où il est demandé de tester une fonctionmais en compilant je rencontre l'erreurs suivante:
Code : Sélectionner tout - Visualiser dans une fenêtre à part coincide()
no matching function for call to 'Vector3d::Vector3d()'
le fichier .h est comme suit:
le fichier .cpp est comme suit:
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 #ifndef VECTOR3D_H #define VECTOR3D_H class Vector3d { float x, y, z; public: Vector3d(float c1, float c2, float c3); virtual ~Vector3d(); void coincide(Vector3d v1, Vector3d v2); private: }; #endif // VECTOR3D_H
le fichier main.cpp où j'ai testé la fonction coincide() est comme suit:
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 #include "Vector3d.h" #include <iostream> using namespace std; Vector3d::Vector3d(float c1=0, float c2=0, float c3=0) { x=c1; y=c2; z=c3; } Vector3d::~Vector3d() { //dtor } void Vector3d::coincide(Vector3d v1, Vector3d v2) { if(v1.x==v2.x && v1.y==v2.y && v1.z==v2.z) cout<<"les deux vecteurs coincident!"; }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 #include <iostream> #include "Vector3d.h" using namespace std; int main() { Vector3d v1, v2; v1(1,2,3); v2(1,2,3); coincide(v1,v2); return 0; }
Partager