回答

✨ ベストアンサー ✨

普通は完了形は、はっきりと過去を表す語句と共に使われることはありません

ただし、(助動詞+have+過去分詞)のような問題では扱いが異なります
should have 過去分詞(~すべきだったのに、→実際はしなかった)という表現です
should have been fired long ago
とっくの昔に首にされるべきだったのに→実際にはクビにされていない
という意味です

Haruna

ありがとうございます!

この回答にコメントする

回答

should have ppは完了形ですが、現在完了ではありませんね。shouldのような助動詞の後に完了を使うと
その時~すべきだったのにやらなかったと昔を振り返って後悔を示す文となります。
agoが使えないのは、今から~前にと過去のある時期を表すので現在のことを述べている現在完了と共起
できないだけです。
×I have finished eating lunch 10 minutes ago.今食べ終わっている状態なのに、10分前ではおかしいですよ。
shouldのあとは本当は過去のことなので過去形が使いたいけど、shouldの後は原形なので使えない。そこで、
完了形の登場となるわけです。従って、shouldのあとは今からみて昔のことを表していると考えてください。
たから、agoとも共起できるのです。

この回答にコメントする
疑問は解決しましたか?