关于cannot have been

有读者问: 我在张汉熙主编的《高级英语》(上册)的第一课中看见这样一个句子:

(1)Yet Beethoven cannot have been an easy person to help, for he was quick to show resentment of patronage and social distinction...

请问为什么用现在式cannot而不用过去式could not? 又to help是否用作person的定语?

表示过去不可能发生的事,可以用“cannot+have+过去分词”,也可以用“could not+have+过去分词”,但could not的语气较cannot为轻。请你千万注意,cannot虽然是现在式,但如后接“have+过去分词”,即表示过去不会发生的事,再如:

(2)He can not have missed the way. I explained the route carefully and drew him a map.

(3)They can not have been easy to grow.

用“情态动词can+have+过去分词”表过去动作或状态时,除用于否定结构外,亦可用于疑问句 ,如:

(4)Can she have done such a thing?

(5)Can he have left already?

但要留意,“can+have+过去分词”不可用于肯定结构,例如不可说“He can have gone yesterday.” 但可以说:

(6)He could have gone yesterday.

也可以说:

(7)He may have gone yesterday.

(8)He must have gone yesterday.