相关疑难解决方法(0)

指向动态分配的boost multi_array中的类的指针,而不是编译

我对使用Boost的C++很陌生.

我希望类"world"的对象有一个名为"chunk"的数组"octreenode".以前我有一个普通的一维数组,这很好用.现在我正在尝试使用具有Boost的multi_array功能的3D数组,我真的不确定我做错了什么.

简化代码:

class world {
public:

  typedef boost::multi_array<octreenode, 3> planetchunkarray;  // a boost_multi for chunks
  typedef planetchunkarray::index index;
  planetchunkarray *chunk;

  world(double x,double y,double z,
        int widtheast, int widthnorth, int height) :
        originx(x), originy(y), originz(z),
        chunkseast(widtheast), chunksnorth(widthnorth), chunksup(height) {

    chunk = new planetchunkarray(boost::extents[chunksnorth][chunkseast][chunksup]);
    planetchunkarray::extent_gen extents;

    for (int cz = 0; cz < chunksnorth; ++cz) {
      for (int cx = 0; cx < chunkseast; ++cx) {
        for (int cy = 0; cy < chunksup; ++cy) {
          (*chunk)[cz][cx][cy] = new octreenode(1,72);
        } …
Run Code Online (Sandbox Code Playgroud)

c++ boost pointers boost-multi-array multidimensional-array

7
推荐指数
1
解决办法
1062
查看次数