大学生之家,大学生资讯发布平台
大学生之家

​请教曹荣禄老师

    发布时间:2024-12-29    阅读:
    来源:大学生之家
之前看过你的一篇文章,是讨论may have done和might have done对过去推断的使用方法有什么区别,may have done是站在目前的立场对过去的推断,而might have done既能够是站在目前的立场对过去的推断,也可以是站在过去的立场对过去的过去进行推断。还有的问题请教:

1. Conservationists speculated that a lake effect may have caused the birds to mistake the sprawling solar farms for bodies of water.

我感觉这里的may have caused更像是站在过去的立场对过去的过去进行推断,对吗?

2. cant have done和couldnt have done是不是也有类似may have done和might have done之间有什么区别,当表示对过去的推断时?

3. may not have done和may have not done都可以用来表示推断,你是如何不同他们的?may not have done可否翻译成“(过去)不可能做了......”;may have not done可否翻译成“(过去)可能没做.......”?

谢谢。

1 may have done不能表示站在过去立场进行推断。

这个句子主句为一般过去时,根据时态一致的原则,宾语从句本应该用相应的过去时态。但假如说话人认可从句的看法,觉得从句的内容在自己引述时依旧有效,则从句可以用目前时,所以,从句的may have done还是从目前的立场推断过去,而不是从过去的立场。

2 情态动词的过去形式+have done可以表示目前对过去的推断,也可以表示在过去对过去的过去的推断,需要依据语境确定。但情态动词的目前形式+have done只能表示目前对过去的推断,不可以表示过去的推断。所以,could, might, would, should+have done都合适这个规则。

3 may not have done 意为可能没,而不是不可能有。表示不可能要用cant have done.

may have not done为错误。not要放在操作词之后。have为不定式,不是操作词了。
英语学习推荐
  • 扫一扫 分享悦读 ➤
  • 扫码可以分享到微信 qq朋友圈
英语学习热点