boost の多次元配列ライブラリを調べていますが、次の例の " A " のように、未定義の形状を持つヘッダー ファイルで multi_array メンバーを宣言する方法がわかりません。
Class.h
std::size_t nX;
std::size_t nY;
std::size_t nZ;
boost::multi_array<double, 3> A;
これは後でソース ファイルで特定のサイズにインスタンス化されます。
クラス.c++
nX = 3
nY = 4
nZ = 2
A = boost::multi_array<double, 3>(boost::extents[nX][nY][nZ]);
しかし、これにより不等形状エラーが発生します。私が試みていることを行う方法はありますか?
最終的には、後で決定されるサイズの 3 次元データを格納するためのメンバー コンテナーが必要です。これはboost::numeric::ublas::matrix
2 次元では問題なく機能しましたが、今度は 3 次元で機能するものが必要です。
multi_array クラスでこれがどのように/可能か、または代わりに機能する可能性のある別のライブラリを教えてもらえますか?