I'm pretty sure grade is prototyped as:
double grade(const double&, const double&, const double&);
I don't have the book here at work and internet's down at home so I can't say for sure until tomorrow.
double grade(const Student_info&);
The error is pretty much all there, just the line number is missing. There was also a "confused by previous errors, bailing out" error on the same line.
I'm sure, however, that I forgot to #include <exception>. oops.
Thanks for the help. If that's not it, I'll post more information tomorrow.