You need to cast to void *:
std::cout << (void*)(ftype*)f << std::endl;
std::cout << (void*)(ftype*)f << std::endl;
If you cast to a function pointer (or several other classes of non-void pointers), it will be interpreted as a bool by the operator<< for std::ostream (hence the 1).