c++结构体开内存

main.cpp

int process_lpr(vector<cv::Mat>, shared_ptr<TRT::Infer>, vector<pr::plate> &);
vector<pr::plate> plates;
process_lpr(images,  engine, plates);    

a.cpp

int process_lpr(vector<cv::Mat> images, shared_ptr<TRT::Infer> engine, vector<pr::plate> &plates)
{
    for(int b=0;b<batch_cur;b++)
    {
        pr::plate returnRes=plates[b];
                if(plate_lenghth==7){
            returnRes.nameList=single_name;
            returnRes.confList=single_confid;
            returnRes.length = plate_lenghth;
            returnRes.name =name ;
            returnRes.confidence = sum_confidence/plate_lenghth;
            printf("length=%d,name=%s,confidence=%f\n", returnRes.length, returnRes.name.c_str(),returnRes.confidence);
        for(int i=0; i<returnRes.nameList.size();i++)
        {
            printf("namelist_%d=%s,score=%f\n", i, returnRes.nameList[i].c_str(),returnRes.confList[i]);
        }
        }

这样在main.cpp和a.cpp中都没有开内存,会报断错误。
解决方法一:
修改a.cpp

int process_lpr(vector<cv::Mat> images, shared_ptr<TRT::Infer> engine, vector<pr::plate> &plates)
{
    for(int b=0;b<batch_cur;b++)
    {
        pr::plate returnRes;      //在这里开内存
        if(plate_lenghth==7){
            returnRes.nameList=single_name;
            returnRes.confList=single_confid;
            returnRes.length = plate_lenghth;
            returnRes.name =name ;
            returnRes.confidence = sum_confidence/plate_lenghth;
            printf("length=%d,name=%s,confidence=%f\n", returnRes.length, returnRes.name.c_str(),returnRes.confidence);
        for(int i=0; i<returnRes.nameList.size();i++)
        {
            printf("namelist_%d=%s,score=%f\n", i, returnRes.nameList[i].c_str(),returnRes.confList[i]);
        }
         plates.push_back(returnRes);
        }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值