struct tipodouble
{
	double valore;
	tipodouble* next;
};

class Ptr
{
	tipodouble* pfirst;
	tipodouble* plast;
	double newval;
public:
	Ptr() : pfirst(NULL), plast(NULL), newval(0.0) { }
	~Ptr();
	tipodouble* operator->();
	double operator()(int);
};

struct Error 
{
	const char* msg;
	Error(const char* err) : msg(err) { }
};


#define READ  0
#define WRITE 1 