使用couldn’t have done来表示对过去情况相反的假设(附英文例句)

英文里,我们可以用一种特殊的语法结构来表示对过去某种情况相反的假设。比如,如果我过去没有做事情A,则事件B就不可能发生(真实的情况是:我做了事件A,因此B发生了)。这种情况可以采用一个固定的英语说法来表达:couldn’t have done, if…。下面我们看个具体的例子。

先看中文:如果我没有正确地设置好系统跟踪功能,我昨天就不可能有数据来和你们做分享。

大家不妨先自己想想这个句子可以如何用英文翻译。

(思考15秒钟)

下面公布答案:

I couldn’t have shared the data with you yesterday if I didn’t have the proper tracking setup.

注意上句中的加粗部分文字,它正是使用了couldn’t have done + if的结构。 其中couldn’t have done,使用的是Couldn’t+现在完成时,而if后使用的是过去时。

大家平时也可以多多练习使用上面的语法结构,这样在实际使用时会更加得心应手。

参考链接:

https://www.perfect-english-grammar.com/third-conditional.html

https://ell.stackexchange.com/questions/48608/can-couldnt-have-done-be-used-in-subjunctive-mood