Je suis un débutant en C++. J'apprends les fonctions d'ami de sujet. J'ai le code ci-dessous dans lequel deux fonctions friend sont déclarées dans la classe et appelées par le constructeur mais une erreur montre que les fonctions membres d'amis déclarées ne sont pas déclarées dans la portée. Qu'est-ce que je fais mal ici? voici mon code:Pourquoi l'erreur "non déclaré dans cette étendue" s'affiche-t-elle?
#include <iostream.h>
class Salary
{
private:
int sal[10];
public:
friend void add_details();
void display();
friend void display_des();
Salary()
{
add_details();
}
};
void add_details()
{
int loop = 0;
for(loop=0;loop<10;loop++)
{
cin >> sal[loop];
if (sal[loop] <= 0)
{
cout << "The amount should be greater than 0" << endl;
loop = loop - 1;
continue;
}
}
}
void display_des()
{
int sal_des[10];
int loop1 = 0, loop2;
for(loop1=0; loop1<10; loop1++)
{
sal_des[loop1] = sal[loop1];
}
for (loop1=0; loop1<10; loop1++)
{
for(loop2=loop1+1; loop2<10; loop2++)
{
if (sal_des[loop1]< sal_des[loop2])
{
int temp;
temp = sal_des[loop1];
sal_des[loop1] = sal_des[loop2];
sal_des[loop2] = temp;
}
}
}
for(loop1=0; loop1<10; loop1++)
{
cout << sal_des[loop1];
}
}
int main()
{
Salary sal1;
sal1.display_des();
return 0;
}
En outre, une autre erreur dans la fonction display_des()
apparaît comme sal n'est pas déclarée dans ce champ
fonction ami = fonction membre!. Vous n'avez pas d'instance de Salary dans ces fonctions. – LogicStuff
Essayez-vous réellement d'implémenter des fonctions membres ou des fonctions ami? –