158 havehad表示推断

 

这是美国人的用法,但有时英国人也这么用。

havehad主要是用在与to be连用时:

There's a tall gred bird fishing in the river

It has to bemust be a heron

—河里有一个大个的灰鸟在捕鱼。

—那一定是一只苍鹭。

hadto be可表示说话人对过去可能发生的事认为是肯定无疑的:

There was a knock on the doorIt had to be Tom

有人敲门。肯定是汤姆。(他肯定是汤姆。)

hadto be也可用来代替 must+完成式:

I wonder who took the money

It had to be Tom./It must have been TomHe's the only one who wasthere

—我不知道谁把这钱拿去了。

—肯定是汤姆。当时只有他在那里。

但为了避免混淆,建议学生们还是尽量用must的各种形式。