请问shouldn't have done和might not have done 在此题中的区别?

问题描述:

请问shouldn't have done和might not have done 在此题中的区别?
You _____ such a serious mistake if you had followed his advice.
(D)
A.may not make B.might not make
C.shouldn’t have made D.might not have made
请问此题中如果C,D两个选项那个更合适,shouldn't have done 和 might not have done有什么区别?

C,shouldn't have done 含有责备之意,而might not have done 没有.