Hogeクラスのデータメンバ
int array[]

にアクセスするのに以下の関数を用意しましたが、コンパイルが通りません。

const int& Hoge::at( const int pos ) const{
 return array[pos];
}

int& Hoge::at( const int pos ){
 retrun static_cast<int&>( static_cast<const Hoge*>(this)->at(pos) );
}

どこが間違っているのしょうか?