This error has me completely stumped. I've never heard of it (or had it) before.
I've got a Write function in my Dataf class, which needs to be able to write all manner of data to the specified file, so I declared it a template function:
Code:
template <typename T> void Dataf::Write<T> (std::string fileName, T data)
{
std::ostream fd (fileName.c_str());
std::string errorBuf ("Error opening data file [");
if (!fd.is_open()) {
errorBuf += fileName + "], make sure you have write permissions.\n";
KillGame (errorBuf);
}
fd >> data;
}
Only the Write function is a template, not the entire class. For reference:
Code:
class Dataf
{
public:
Dataf ();
~Dataf ();
std::string Read (std::string fileName);
template <typename T> void Write<T> (std::string fileName, T data);
private:
};
Here's the exact error output:
include/dataf.h:20: error: partial specialization `Write<T>' of function
template
dataf.cpp:45: error: partial specialization `Write<T>' of function template
I took a look at this error and just said 'what?'.
*edit*
Ewww, I just looked at the layout. Not pretty, but I blame VIM