程序如下,average__analysis无法定义_
#ifndef GUARD_average_grade
#define GUARD_average_grade
#include"grade.h"
#include"Student_info.h"
#include"average_analysis.h"
#include
double average_grade(const Student_info&s)
{
try{
return average_analysis(s); //这个位置average_analysis(s)无法被定义标识符
}catch(domain_error){
return grade(s.midterm,s.final,0);
}
}
#endif
定义average_analysis函数的程序如下:
#ifndef GURAD_average_analysis
#define GURAD_average_analysis
#include
#include
#include"Student_info.h"
#include"grade辅助函数,捕抓错误.h"
#include"average_grade.h"
double average(const vector&v)
{
return accumulate(v.begin(),v.end(),0.0)/v.size();
}
double average_analysis(const Student_info&s)
{
return grade(s.midterm,s.final,average(s.homeworks));
}
double average_analysis(const vector&student)
{
vector grades;
transform(student.begin(),student.end(),back_inserter(grades),average_grade);
return median(grades);
}
#endif