couldn't have done 和 can't have done 怎么区分?分别用在什么情况下啊?

如题所述

can't have done (过去一定没做...),是对过去推测的否定形式。例如: I saw her just now,she can't have gone to Beijing. 我刚才看见她的,她不可能去了北京。
couldn't have done是虚拟语气,表达与过去的事实相反。例如: If I hadn't been told,I couldn't have known this. 假如别人不告诉我,我就不会知道这件事。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-07-22
主要区别在于:
1. couldn't have done不仅可以表示过去完成时的否定,还可以表示虚拟语态。
2. 而can't have done只是现在完成时的否定。
第2个回答  2021-07-22
表示不可能的时候,没什么区别,只是后面这个显得是刚不久的事情。
表示允许的时候,只能用后面这个。本回答被提问者采纳
相似回答