Uploading a file from st card to FTP server

Onenate:
why do I get no match for operator in !fh when it complier accepts the first fh = file.open(fileName, 0_READ);

Is fh a boolean? If not, why are you using it where a boolean expression is expected?