Khornaej
Messages postés6Date d'inscriptionmardi 16 janvier 2018StatutMembreDernière intervention14 janvier 2019
-
Modifié le 12 janv. 2019 à 20:01
Khornaej
Messages postés6Date d'inscriptionmardi 16 janvier 2018StatutMembreDernière intervention14 janvier 2019
-
14 janv. 2019 à 09:42
Bonjour le forum,
j'ai un petit problème avec une fonction amie:
aucune erreur n'est signalée (mais la syntaxe ne me semble pas repectée,"friend void AfficherEquipes(std::vector<std::string> CalendEquipDom);"
sans la résolutin de portée (CEquipes:: devant AfficherEquipes), de plus le vector final n'est pas rempli
Si la syntaxe est respectée :|error: invalid use of incomplete type 'class CEquipes'|
Objectif:
accéder à un attibut de la classe CCalendrier(le vector "c_EquipDom") à travers la procédure d'une autre classe
J'ai lu et relu plusieurs cours sur les fonctions amies, j'avoue avoir du mal à comprendre leur mise en oeuvre
merci pour votre aide et vos éclaircissements
class CEquipes; class CCalendrier { friend void AfficherEquipes(std::vector<std::string> CalendEquipDom);//si "AfficherEquipes" seul pas d'erreur mais "TrierEquipes" ne donne rien //sinon:|error: invalid use of incomplete type 'class CEquipes'| private : std::vector<std::string> CalendDate; std::vector<std::string> CalendHeure; std::vector<std::string> CalendEquipDom; std::vector<std::string> CalendScorDom; std::vector<std::string> CalendScorExt; std::vector<std::string> CalendEquipExt;
//std::cout << "Entrer le nom d'un fichier existant: "; Le nom sera selectionné à partir d'une boite de dialogue //std::cin.get (nomfichier,20); // get c-string std::ifstream fichier("ANG.txt", std::ios::in);
if(fichier) // si l'ouverture a réussi { while ( std::getline( fichier, ligne ) ) { for (int j=0; j<=5; j++) { int deb=0;
switch(j) { case 0: CalendDate.push_back(enreg); break; case 1: CalendHeure.push_back(enreg); break; case 2: CalendEquipDom.push_back(enreg); break; case 3: CalendScorDom.push_back(enreg); break; case 4: CalendScorExt.push_back(enreg); break; case 5: CalendEquipExt.push_back(enreg); break; }
newligne = ligne.substr(postn + 1); deb = postn + 1; ligne = newligne; }