引用子函数标识符无法定义

程序如下,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

我从来没用过这样的文件名,不晓得编译器支持不,你最好能将所有的编译结果贴出来。

什么编译器这么牛逼,能支持#include"grade辅助函数,捕抓错误.h"??

#include"grade辅助函数,捕抓错误.h"

这个确实很牛逼啊。。。