メンバ関数(const版)へのポインタをmem_funに渡す

キャストするしかないのか。。
これも例の、テンプレートのパラメータ引数のその場でのオーバーロードは期待できないと私が思い込んでいるケースの一種なのだろうか。

#include <iostream>
#include <algorithm>
#include <vector>
#include <functional>
#include <numeric>
using namespace std;

class A{
public:
  void Hi( void ){ cout<< "hi"<<endl; }
  void Hi( void ) const { cout<< "hi"<<endl; }//★
};

int main( void )
{
  vector< const A* > ca;  // ←★ これをconst A* のコンテナにしとく
  for( int i=0; i<10; ++i ){
    ca.push_back( new A );
  }// i

  for_each( ca.begin(), ca.end(), 
                        mem_fun( &A::Hi ) );// するとエラー!
  for_each( ca.begin(), ca.end(), 
                        mem_fun(  (void(A::*)(void) const)&A::Hi ) );// OK

  return 0;
}

「&A::Hi」の表記で、constバージョンを明記できる記述法はないものか。
「&A::Hi const」とかやってもだめだしやはりキャストするしかないのか。。