私はコードのこの部分を持っています:
struct IARM_DATA
{
IARM_HANDLE handle;
float position[6]; //May be joint or linear position
float gripper_opening;
IARM_LIFT_POSITION lift_position;
bool foldIn; //true if foldin and false if fold out
bool openGripper;
IARM_DATA(IARM_HANDLE _handle, bool _foldIn):handle(_handle),foldIn(_foldIn){};
IARM_DATA(IARM_HANDLE _handle, IARM_LIFT_POSITION _lift_position):handle(_handle),
lift_position(_lift_position){}; //handle, lift_position
IARM_DATA(IARM_HANDLE _handle, volatile float _position[6], float _gripper_opening, IARM_LIFT_POSITION _lift_position):
handle(_handle),gripper_opening(_gripper_opening), lift_position(_lift_position)
{
for(int i=0; i<6; i++)
position[i] = _position[i];
}; //handle, position, gripper_opening, lift_position
} ;
typedef IARM_RESULT (iArmDriver::*singleMvt)(IARM_DATA);
//これはiArmDriverメソッドへのポインタです。
typedef struct {
singleMvt mvt;
IARM_DATA data;
} ONE_MVT;
そして、このようなキュー宣言:
std::queue<ONE_MVT> *iarmActions;
私の質問は、そのキューが原因で実行の問題に直面したことです。次のような動的な割り当てを行う必要があります。
iramActions = (std::queue<ONE_MVT> *)sife0f(std::queue<ONE_MVT> *);
??
前もって感謝します