'String' has not been declared error

#include <String>

1 - do you really need to #include the String library ?
2 - if you do then why not do it properly by #including String.h ?

#include "pump.cpp"It is more usual to #include the .h file