>>872
> static const hoge h1(i); // error C2061: 構文エラー : 識別子 'i'
> static const hoge h2(j); // error C2061: 構文エラー : 識別子 'j'

これは多分 hoge 型の変数の宣言、定義を意図しているんだろうけど
コンパイラからは戻り値の型が const hoge で static なメンバ関数の
宣言に見えている

エラーメッセージにはそんなこと書いてなかった?