I was to have made a speech if _________.

A. I was not called away

B. nobody would have called me away

C. I had not been called away

D. nobody called me away

请问老师,这题if引导非真实条件句,为何主句又用的过去以后完成时?还有请问如何区别陈述语气的时态和虚拟语气呢?

提前谢谢老师! 

I was to have made a speech if I had not beencalled away.

sb was to have done sth 这个结构表示某人本来计划或安排在过去做某事,但因为某种缘由没做某事。一般后面用but引导并列分句讲解缘由是什么,but后分句用陈述语气表示事实。比如,I was to have made a speech, but I had been called away. 本句没用but分句,而是用了if虚拟条件句,if从句用虚拟语气表示与事实相反的假设。注意这个if从句并非修饰谓语动词was, 而是修饰不定式完成体的,是不定式短语的内部结构,所以这个if从句是不能放在句首的。