C#で数値計算(つづき)

今日は,Vector系クラスの残りであるRowVectorとColVectorを作成し,Streamへの書き出しのあたりをちょっとだけ勉強しました.

ちょっと引っかかったこと

MSDN
コンパイラ エラー C2662
/clr を指定してコンパイルする場合は、const または volatile で修飾されたマネージ型で関数を呼び出すことはできません。マネージ クラスの const メンバ関数を宣言することはできないので、const マネージ オブジェクトでメソッドを呼び出すことはできません。

つまりですね,

ref class Hoge {
private:
    int    value;
public:
    property int Size
    {
        int get() { return value; }
    }
};

void Func( const Hoge^ h )
{
    int s = h->Size;   // C2662
}

ということができません.
「この関数の中では,渡された引数の内容を書き換えませんよー」ということを明示するためにconstを使いたいのですが,できないということになります.
むむむ...,仕方が無いのでconstをとります.(−"−;