ورود

View Full Version : سوال: چرا تابع کلاس رو نمیشناسه؟



vasilopita
پنج شنبه 18 آذر 1389, 10:30 صبح
سلام. نمی دونم چرا تابعی که ساختم کلاس رو نمی شناسه


#include<iostream>
using namespace std;
#include<conio.h>
void find_max();
//void search
class student_info
{
public:
char name[10],family[20];
long int id;
float avg;
void print_info()
{

}
void get_info(int i)
{
cout<<"\n"<<i+1<<"::\n";
cout<<"Name >>> ";
cin>>name;
cout<<"Family >>> ";
cin>>family;
cout<<"ID >>> ";
cin>>id;
cout<<"Averege >>> ";
cin>>avg;
cout<<".................................................. ........";

}
};
void main()
{

cout<<"Please Enter number of student ... \n";
int number = 10;
//cin>>number;
student_info *stu;
stu=new student_info[number];
//float max=0;
for(int i=0;i<number;i++)
{
cout<<"\a";
stu[i].get_info(i);
}
//cout<<stu[1].id;

void find_max()
{
int max=0;
for(int i=0;i<15;i++)
{

if(stu[i].avg > max)
max=stu[i];
}
}

توی قسمت تابع find_max به هیچ وجه تابع شناخته نمی شه. لطفا کمک کنید:گریه:

mehdi.mousavi
پنج شنبه 18 آذر 1389, 10:55 صبح
سلام.
چه پیام خطایی می گیرید؟ اول از همه اینکه تابع main چرا بسته نشده Block اش؟ بعدش چطوری انتظار دارید تابع find_max به متغیر stu دسترسی داشته باشه، در حالیکه این متغیر global نیستش و در main تعریف شده؟ گذشته از اینها، متغیری که new میشه باید یه جایی release بشه، اما تو کد شما ظاهرا این اتفاق نیز نیفتاده. ابتدا این ایرادها رو رفع کنید، اگر مشکلی بود پیام خطایی که باهاش مواجه میشید رو اینجا بذارید تا راهنمایی کنم.

موفق باشید.