sf::Image image(), mask();
You should remove the parenthesis, otherwise the compiler will think you're declaring functions.
I think sure in this case, it will just call the default constructor, a kind of reinforcement of the default behaviour. You need to do much more than that to confuse the compiler (there is a great one you can do with the standard library though

. I may be wrong though.
and yeah, I was trying to remember the standard conversion to greyscale

I guess I was horribly wrong.