could not have done是非虚拟语气吗

很多语法书将could not have done归纳为推测用法,表示“过去不可能做了某事”,而并不是虚拟语气;相关的某些例句我能找到,不过对于下面这道题:

But for their help, we ________ the program in time. (2009安徽高考) (答案: D)

A. can not finish

B. will not finish

C. had not finished

D. could not have finished

这里的could not have finished到底是不是虚拟语气的用法?毕竟but for是含蓄条件句的标志性词。

或者说:could not have finished既可以用作虚拟语气,也可以用作非虚拟语气(表推测)?

求高手指点一二。



请先 登录 后评论

最佳答案 2020-01-19 14:49

你的含蓄条件句 这个术语用的不够恰当,这说明你没有真正理解。but for+名词,为介词短语作含蓄虚拟条件状语,即虚拟语气没有通过谓语动词的虚拟语气形式体现出来,但这个条件是与事实相反的,所以主句必须使用虚拟语气谓语形式。

请先 登录 后评论

其它 1 个回答

mengxin Z

could not have finished

1. 表推测:那时不可能完成 (说话者相信,那时没有完成)

2. 表虚拟:那时本不可能完成(但实际完成了)


这题是2的意思

请先 登录 后评论
  • 2 关注
  • 5 收藏,14829 浏览
  • xxwzs 提出于 2019-07-30 08:49

相似问题