“cannot have done” 是英语中一种表示对过去事件进行否定性推测的结构。
它用于表达说话人认为某事在过去不可能发生。
结构为:cannot + have + 过去分词(在美式英语中,有时也写作 can't have done)。
该结构常用于以下情境:
She cannot have stolen the money. She was with me all evening.
她不可能偷了钱。她整个晚上都和我在一起。
They can't have missed the train — it was delayed for an hour!
他们不可能错过火车——火车晚点了一个小时!
He cannot have finished the project already. It’s too complex!
他不可能已经完成了这个项目。这太复杂了!
cannot have done” 仅用于对过去事件的推测,不能用于现在或将来。cannot,口语中常用缩写 can't。could not have done” 混淆:后者语气更弱,表示“当时没有能力做某事”或“不太可能”,而 “cannot have done” 表示更强的否定判断。