Well all you need is the size, and you can work that out:
#if defined(ARDUINO) && ARDUINO >= 100
#include "Arduino.h"
#else
#include "WProgram.h"
#endif
template<typename T> T add (const T x, const T y)
{
Serial.print ("Size of data is ");
Serial.println (sizeof (T));
return x + y;
}
And in any case it looks like someone has already done the hard work:
http://arduino.cc/playground/Code/EEPROMWriteAnything
i probably should of explained a bit more of what i was doing but anyway.
That can usually save quite a bit of time ... yours and ours.