✔ 最佳答案
"Mary has asked me a complicated question."
We use 現在完成式( present perfect simple) to
1: talk about a time period that is not finished
Obviously, writer needs to add time expression here. Therefore this rule can not apply to your sentence.
2. To show that something happened at some point in the past before now. We don't state when it happened.
Your sentence can apply this rule.
Therefore, your sentence is correct
However, if you want to add Mary is dead.
You may say
Mary had asked me a complicated question before she died. ( I use 過去完成式 in this sentence.)
We use 過去完成式 to talk about the past and want to mention something happen earlier