先翻译一下:
——我们没看见他来参加昨天的演讲.
--他不可能昨天来了.
所以按语境选B.另外,D不选的原因是:情态助动词+不定式的完成式中没有mustn't have done的结构,更不用说用它来表示“过去不可能做过某事”.但must have done这种结构是有的,解释为“一定已做”.从中可知must要与have done用的话,应是用表肯定,而不是否定的形式.
PS:lanPoh有一个错误我要说明一下.
否定式"can't/couldn't have+过去分词”表示“过去不可能发生的事情”.疑问形式和否定形式表示对过去发生的行为怀疑或不肯定.用“can"语气较强烈,“could”语气较委婉.所以是语气问题而不是时态上的区别.