如何在C 中返回bitset值

How to return bitset value in C++?

本文关键字:返回 bitset      更新时间:2023-10-16

如何从c 中的函数返回bitset?

bitset<32>* check() {
  bitset<32> v8;
  for (int i = 0; i <= 5; i++) {
    v8[i] = 1;
  }
  return v8;
}

我有一个错误:

[Error] cannot convert 'std::bitset<32u>' to std::bitset<32u>*' in return

您正在尝试将值返回指针,在这种情况下,您实际上应该按值返回。在这里使用指针是胡说八道。

bitset<32> check() {
  bitset<32> v8;
  for (int i = 0; i <= 5; i++) {
    v8[i] = 1;
  }
  return v8;
}

您无法从被声明将指针返回到bitset的函数中返回bitset。

您可以从声明返回bitset的函数中返回bitset:

bitset<32>  check()
//        ^ note the lack of * which would be syntax for a pointer declaration