std::__popcountを使おうとするとcall to '__popcount' is ambiguous
というエラーが出ます。
どうすれば良いでしょうか?
C++
1#include <iostream> 2 3int main() { 4 int a = 0b111000; 5 std::cout << std::__popcount(a) << "\n"; 6}
error
1main.cpp:5:16: error: call to '__popcount' is ambiguous 2 std::cout << std::__popcount(a) << "\n"; 3 ^~~~~~~~~~~~~~~
txt
1環境: 2Apple clang version 11.0.0 (clang-1100.0.33.17) 3Target: x86_64-apple-darwin18.7.0 4Thread model: posix 5InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin 6 7CLion 2019.3.4 8 9cmake_minimum_required(VERSION 3.15) 10set(CMAKE_CXX_STANDARD 20)
追記:
set(CMAKE_CXX_STANDARD 20)
としているのでC++20のはずなのですが、std::popcount
は使えませんでした。
IDEがChange 'popcount' to '__popcount'?
と提案してきたのでそれに合わせたところ、上記のようにambiguous
となりました。
C++
1#include <iostream> 2 3int main() { 4 int a = 0b111000; 5 std::cout << std::popcount(a) << "\n"; 6}
error
1main.cpp:5:21: error: no member named 'popcount' in namespace 'std'; did you mean '__popcount'? 2 std::cout << std::popcount(a) << "\n"; 3 ~~~~~^~~~~~~~ 4 __popcount
-std=c++2a 指定していますか?
あと、std::__popcountではなくstd::popcountではないですか?
参考:https://cpprefjp.github.io/reference/bit/popcount.html
回答1件
あなたの回答
tips
プレビュー