{}的作用域

{}内声明的变量,只在{}内有效。
  uint8_t* in;   std::unique_ptr<uint8_t[]> imgdata;
  if(1)   {     /***********************************decode jpg*****************************************/
    tensorflow::Env* env = tensorflow::Env::Default();     string jpeg;     ReadFileToStringOrDie(env, s->input_file_name, &jpeg);     const int fsize = jpeg.size();     //printf("fsize = %d\n",fsize);     const uint8* const image_buffer = tensorflow::bit_cast<const uint8_t*>(jpeg.data());       // Try partial decoding (half of the data)     int w, h, c;     //std::unique_ptr<uint8_t[]> imgdata;     tensorflow::jpeg::UncompressFlags flags;     flags.components = 3;       flags.min_acceptable_fraction = 1.0;     imgdata.reset(tensorflow::jpeg::Uncompress(image_buffer, fsize, flags, &w, &h, &c, nullptr));     CHECK(imgdata != nullptr);     image_width = w;     image_height = h;     in = imgdata.get();         printf("image_width = %d\n", image_width);     printf("image_height = %d\n", image_height);     /***********************************decode jpg*****************************************/       }

以上代码的运行结果是正确的。

 
  uint8_t* in;
  if(1)   {     /***********************************decode jpg*****************************************/
    tensorflow::Env* env = tensorflow::Env::Default();     string jpeg;     ReadFileToStringOrDie(env, s->input_file_name, &jpeg);     const int fsize = jpeg.size();     //printf("fsize = %d\n",fsize);     const uint8* const image_buffer = tensorflow::bit_cast<const uint8_t*>(jpeg.data());       // Try partial decoding (half of the data)     int w, h, c;     //std::unique_ptr<uint8_t[]> imgdata;     tensorflow::jpeg::UncompressFlags flags;     flags.components = 3;
std::unique_ptr<uint8_t[]> imgdata;//<-------这里有问题     flags.min_acceptable_fraction = 1.0;     imgdata.reset(tensorflow::jpeg::Uncompress(image_buffer, fsize, flags, &w, &h, &c, nullptr));     CHECK(imgdata != nullptr);     image_width = w;     image_height = h;     in = imgdata.get();         printf("image_width = %d\n", image_width);     printf("image_height = %d\n", image_height);     /***********************************decode jpg*****************************************/       }
以上代码的而结果是错误的
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值