std::vector<VmbUchar_t> * v=NULL;
v = new std::vector<VmbUchar_t>;
v=( std::vector<VmbUchar_t> *)malloc(100);
dateInfo di ;
di.frameId=nFrameID;//nFrameID会自动+1
di.v=v;
memcpy(di.v,&TransformedData,100);//&TransformedData 第三方获取
q.push(di);
if(q.size()>4){
dateInfo vv =q.front();
std::cout<<vv.frameId<<"OTAD : "<<(*vv.v)[0]<<"\n" ;
free(vv.v);
q.pop();
}
}
q是全局队列 定义在其他文件
std::queue<dateInfo> q;
typedef struct
{
std::vector<VmbUchar_t> * v;
VmbUint64_t frameId;
} dateInfo;
extern std::queue q;
程序跑一段时间 就会报错 : [0] CXX0030: 错误: 无法计算表达式的值
如图看 frameid325~328的地址还在 但是内容已经没了 。 如何解决 在线等