1
我在stm32中編寫代碼。基本上,我想從另一個庫訪問布爾數組數據。這是一個AP_Tmxk_LIDARScanner
庫存儲數據的頭文件scan.isObstacle
這是一個布爾數組。我還做了一個名爲getObstacle()
的返回函數。另一個名爲AP_Tmxk_VFH
的庫訪問getObstacle()
的數據。這可以嗎?或者是在AP_Tmxk_VFH
中複製該數組的方法。謝謝你的幫助。C++訪問共享庫的數組數據
AP_Tmxk_LIDARScanner
class AP_Tmxk_LIDARScanner {
private:
struct{
bool isObstacle[180] = {}; //1: unsafe; 0:safe
bool available = false;
}scan;
public:
AP_Tmxk_LIDARScanner();
void init();
void update();
bool getAvailable() const{
return scan.available;
}
bool getObstacle() const{
return scan.isObstacle;
}
};
AP_Tmxk_VFH.h
class AP_Tmxk_VFH {
private:
struct{
bool Certain_Value[180] = {};
}sector;
const AP_Tmxk_LIDARScanner &_lidarscanner;
public:
// Constructor
AP_Tmxk_VFH(const AP_Tmxk_LIDARScanner &_lidarscanner);
void init();
void update();
};
AP_Tmxk_VFH.cpp
AP_Tmxk_VFH::AP_Tmxk_VFH(const AP_Tmxk_LIDARScanner &lidarscanner) :
_lidarscanner(lidarscanner)
{}
void AP_Tmxk_VFH::update()
{
if(_lidarscanner.getAvailable()){
sector.Certain_Value = _lidarscanner.getObstacle()
}
}
你的代碼看起來noneworking。在函數getObstacle()中,你返回的是bool值,它和bool的數組不一樣。 –
希望[it](https://www.tutorialspoint.com/cplusplus/cpp_pointer_to_an_array.htm)可以幫助 –