这里令人尴尬的基本问题......我有一个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 }
答案 0 :(得分:1)
在构造函数中使用初始化列表:
MyClass::MyClass( boost::multi_array & arr ) : arrPtr(arr) {}
请注意,您在代码中使用引用,而不是在问题中描述的指针。