3

Visual Studio 2013 デバッガーでマトリックス クラスを表示しようとしています。クラスの関連部分は次のとおりです。

class mat {
private:
    size_t rowdim, coldim;
    double* _mem;
};

これを多次元配列として視覚化しようとしていますが、配列として格納されていない場合に次元のサイズを指定する方法がわかりません。これは私がしようとしているものです:

<Type Name="mat">
    <DisplayString>{{ Matrix {rowdim}x{coldim} }}</DisplayString>
    <StringView>_mem,[rowdim]</StringView>
    <Expand>
        <Item Name="[size]" ExcludeView="simple" >rowdim</Item>
        <ArrayItems>
            <Direction>Forward</Direction>
            <Rank>2</Rank>
            <Size>{rowdim, coldim}</Size>
            <ValuePointer>_mem</ValuePointer>
        </ArrayItems>
    </Expand>
</Type>

しかし、次元をリテラルとして、または個別の変数として、インデックス付けされる配列としてのみ与える方法はないようです。これを行う方法があるかどうか誰かが知っていますか?

4

1 に答える 1

1

基本的な式を指定すると、デバッガーがそれらを評価します。次を使用してみてください。

<Size>$i == 0 ? rowdim : coldim</Size>

Visual Studio 2015 はこれを受け入れます。2013 はもうインストールされていません。

于 2015-12-10T21:28:28.613 に答える