"undefined reference" means that the compiler is happy, but the linker has gone looking for the compilerd object code that is the actual functions (i.e. what averager.cpp is turned into by the compiler) and cannot find it.
This means that either you are not compiling averager.cpp, or you are compiling it but you have not told your linker to link to it. In Code::Blocks, I expect you have to make sure that averager.cpp is in your "project" or whatever it calls it that abstracts away from you the mechanics of what's happening to your code.
It is really, really, really in your interests to take a few minutes to learn what the compiler does, what the linker does, and how they work together to make a library or executable. If you had known already, you wouldn't be trying to fix a linking error by looking at your code. The time saving you will get by understanding what your tools do is really, really worth it.
"exception" was what it was getting stuck on, just change it to "exc" so its name wont conflict with however "exception" might be defined in your libraries.
you also need to add #include <iostream> to the averager.cpp file becuase you are trying to write some output to std error stream.
Thanks a lot for the responses! Both are very helpful. I am curious, though, what was causing the confusion with the other functions? I do have a lot to learn, this is for sure, haha. The #include was there, I'm not sure why it wasn't copied.