dポイントプレゼントキャンペーン実施中!

仮定法の時制について、次の2つの英文のどちらが正しいのでしょうか?

私は(1)だと思ったのですが、正解は(2)でした。解説には、as if 以下を仮定法過去完了<had known>にするのは、<for a long time>だからということでしたが、私にはイマイチ理解できません。どなたか教えてください。

(1)I feel as if I have known her for a long time.

(2)I feel as if I had known her for a long time.

A 回答 (2件)

まず、(1)の方は、as if 以下が「現在完了」になっていますので、そもそも文法的に間違っているということです。

仮定法は「過去形」か「過去完了形」のどちらかですので。

まあそういう理由はさておくとして、なぜ「for a long time だから had known」となるかというと、現在形(現在完了形)にしてみるとわかります。

つまり、I know her for a long time. と、I have known her for a long time. のどちらが自然かと言えば、意味的にはやはり後者ですね。ですから、as if の後に続ける場合にも、やはり had known となるわけです。

とはいえ、この問題はやはり最初に書いたような仮定法の文法的知識を単に問う問題のような気がしますが...
    • good
    • 0
この回答へのお礼

mtkame様

 早速の分りやすい解説、どうもありがとうございました。もう一度、文法のテキストで仮定法を勉強しなおします。

お礼日時:2005/01/06 12:36

仮定法なら時制が過去になるわけですから、


現在完了になっている(1)は、まずありません。

(2)が<for a long time>だから<had known>になる、というのは、
以下のことから考えればわかると思います。
・意味的にも「長い間知っていたら」なので、昔のことを仮定している。
・単に「知っていれば」なら、"if I knew her"になる。
    • good
    • 0
この回答へのお礼

osumitan様

 回答と解説どうもありがとうございました。
仮定法の基礎から勉強しなおします。

お礼日時:2005/01/06 12:58

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!