0

可変boost::any*アイテムがあります。私の要件は次のとおりです。

int、double、またはその他のデータ型の値のリストを持つアイテムを割り当てます。ただし、特定の時点でデータ型は一意になります。

問題:

単一の値の場合、items[index] = value; を使用して割り当てることができます。しかし、アイテム=値を実行すると; ここで、values は double 配列であり、自動的にキャストできません。また、私が使用する場合

items = boost::any_cast<boost::any*>(values)

'boost::bad_any_cast': failed conversion using 'boost::any_cast` を受け取りました。

double 配列を配列にキャストする方法について、いくつかのヒントが非常にboost::any役立ちます。

4

1 に答える 1

1

それはうまくいきません。ではdouble[]、ダブルスは連続しています。2つのダブルの間にスペースはありません。ほぼ同じことが当てはまります:2つのオブジェクトboost::any[]の間にスペースはありません。ただし、隣接するラッパーany内に格納されている2つのdoubleの間にスペースがあります。boost::any<>

関数を作成する必要があります。

于 2012-11-09T14:57:34.133 に答える