Boost 概念检查警告

Boost concept check warnings

鉴于此代码使用 boost 1.75 / gcc 11

#include <boost/bimap.hpp>
#include <string>
#include <iostream>

int main()
{
  typedef boost::bimap<std::string, int> bimap;
  bimap animals;

  animals.insert({"cat", 4});
  animals.insert({"shark", 0});
  animals.insert({"spider", 8});

  std::cout << animals.left.count("cat") << '\n';
  std::cout << animals.right.count(8) << '\n';
}

我收到很多警告,例如 boost concept failed ...

更多日志:

https://godbolt.org/z/6Ge5vxYrc

如果我没有升级 boost 的能力,如何解决这个问题

如消息所示,您可以抑制 -Wnonnull 诊断:

g++ -std=c++17 -Wno-nonnull ...

https://godbolt.org/z/YEafWTqex