将boost数组传递给Class

时间:2013-07-10 17:32:42

标签: c++ arrays

这里令人尴尬的基本问题......我有一个Boost多维数组,我正在传递给一个类。我希望Class能够通过其成员函数中的指针访问数组。我该怎么做?

class MyClass {
  public:
   MyClass( boost::multi_array & ); /
  private:
   boost::multi_array& arrPtr;
   void doSomethingInvolvingArray();
}

MyClass::MyClass( boost::multi_array & arr ) {
  arrPtr = arr; // get "uninitialized reference member MyClass::arrPtr" here
}

void MyClass::doSomethingInvolvingArray( ) {
   int i = arrPtr[0][0][1]; // I want to do something like this
}

1 个答案:

答案 0 :(得分:1)

在构造函数中使用初始化列表:

MyClass::MyClass( boost::multi_array & arr ) : arrPtr(arr) {}

请注意,您在代码中使用引用,而不是在问题中描述的指针