Bonjour.
j'ai une 1° classe qui décrit des coordonnées 2D sur un plateau. le constructeur unique prend en entrée la ligne et la colonne pour tester la validité des valeurs fournies.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
Coord::Coord(int row, int col) {
	if (not (row >= 0 and row < TAILLEGRILLE)
			and (col >= 0 and col < TAILLEGRILLE)) {
		this->lig = row;
		this->col = col;
	} else {
		throw std::invalid_argument("cordonnées invalides");
	}
}
j'ai une 2° classe qui décrit des pions sur ce plateau. un pion possède un identifiant, et une position décrite par un objet Coord :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
class Pion {
public:
	Pion(int, Coord);
 
private:
	int identifiant;
	Coord coord;
};
le problème arrive lorsque je veux créer le constructeur des pions :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
Pion::Pion(int identifiant, Coord coord) {
	this->identifiant = identifiant;
	this->coord = coord;
}
J'obtiens l'erreur : pas de fonction concordante pour l'appel à «*Coord::Coord()*» dans le constructeur Pion.

Comme je n'ai pas, par contrainte d'exercice, de constructeur par défaut pour l'objet Coord, je ne trouve pas comment coder correctement le constructeur des pions.
Merci pour vos indications/éclaircissements.
Yves