从零开始学语法：can have done用法小结
can have done
Can he have done such a foolish thing? (= Is it possible …?)
He can't have taken it home.
could have done
could have done 可用于肯定句、疑问句和否定句。用于肯定句既可以表示过去能够做而实际未做，有惋惜、遗憾或委婉批评之意，也可以表示对过去动作的推测；用于否定句和疑问句的情况与can have done相同。例如：
You could have done better, but you didn't try your best.
This glass is cracked. Someone could have dropped it.
Could he have left the work unfinished?
He couldn't have checked out so early.
注意：can't have done 的语气比 couldn't have done 要强一些。例如：
He can't have been to that town.
The measurement couldn't have been wrong.