(2) 對過去的推測,必須在 can, could 之后接動詞的完成式。但此時can仍只用于否定句或疑問句,不用于肯定句;而could則可用于各種句型:
He can't [couldn't] have seen her there. 他不可能在那兒見到她。
He could have gone home. 他可能已回家了。
Who could have taken it? 是誰把它拿走了呢?
I do not see how I could have done otherwise. 我看不出那時我還能有別的做法。
She could not have been more than sixteen. 那時她不可能超過十六歲。
I couldn't have won, so I didn't go in for the race. 我不可能獲勝,因此我沒參賽。
【注】could后接動詞的完成式,除表示對過去的推測外,還有以下用法(不用can):
① 表示過去沒有實現的可能性(即某事本來可以發生,卻沒發生):
He could have told her, but he didn't choose to. 他本來可以告訴她的,但他卻沒有。
I could have lent you the money. Why didn't you ask me? 我本來可以借這筆錢給你的。你為什么不問我?
② 用來委婉地責備某人過去應該做某事而沒有去做:
You could have been a little more considerate. 你本可考慮得更周到些的。
You could ask me before you use my phone. 你打電話之前可以問我一聲。
You could have helped me why did you just sit and watch? 你本可幫助我的,為什么只坐在一旁瞧著?
③ 表示“差點兒就要”:
I could have died laughing. 我差點笑死了。
I was so angry I could have killed him. 我是那樣生氣,差點把他殺了。
She felt miserable. She could have cried. 她感到很痛苦,她差點哭了。