The baby had a feed an hour ago, so she can’t ______ hungry.
A. be B. have been
答案是 A。但为什么不能选 B 呢?
答案确实是 A。虽然前面一句用的是一般过去时,但后面一句谈的是现在的情况,意思是说:宝宝一小时前刚喂过一次,所以她现在不可能是饿了。
“can't (cannot) have + 过去分词”表示过去“不可能已经......”。例如:He cannot have gone there alone .他不可能已经一个人去了那里。(摘自2008年7月第1版《外研社英汉多功能词典》)
问题中后一句的“不可能是饿了”指的是现在的情况,所以答案不能选 B。