Stop arguing and just help him.. Yes, you can cast any kind of pointer to any kind of pointer, it works, just like that. It is not illegal or anything to do it, it just will crash or cause undefined behavior when you call invalid methods and access invalid data members.
You can int* e = &screen; without a problem. However, under some compiler settings you will get an error for doing that, which you can overcome with a explicit cast int* e = (int*)&screen; In other compiler environments it won't even complain. At most, you can always use reinterpret_cast to convert the most incompatible pointer types.
Now to your actual problem, you want a function like this:
void myOtherFunction(sf::RenderWindow* screen)
{
screen->doStuff();
}
main()
{
sf::RenderWindow screen;
myOtherFunction(&screen);
}