这是非谓语动词的用法,因为前面没有主语所以不是从句,其实补全句子就是Because all flight had been cancelled because of the bad weather,加一个表示原因的连词就用had cancelled了,没有连词就只能判断动词跟逻辑主语(主句的主语)的主被动关系,主动用ing,被动用ed
因为全句的意思是“因为坏天气,所有航班均被取消,他们不得不乘火车了。”不得不乘火车的原因是航班从那时取消一直到现在仍未恢复,该动作一直在持续。 所以用的是完成时。另外All flight HAVING BEEN CANCELED because of the bad weather是一个状语短语,不是状语从句所以不能用动词的时态, 经常用分词短语和不定式代替。