gpt4 book ai didi

c++ - 使用 Solaris CC 的 std::BinaryPredicate 问题

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:00:50 24 4
gpt4 key购买 nike

我在 Solaris 上使用 Sun Studio 编译器时遇到问题。它似乎与 libCstd 有关。

考虑以下代码:

#include <list>
static bool f(double fFreq1, double fFreq2) { return false; }
int main()
{
std::list< double > l;
l.unique(f);
}

我得到的错误信息是:

"uniq.cpp", line 6: Error: Could not find a match for std::list<double>::unique(bool(double,double)) needed in main().

但是当我使用引用而不是值时,它编译得很好:

#include <list>
static bool f(const double& fFreq1, const double& fFreq2) { return false; }
int main()
{
std::list< double > l;
l.unique(f);
}

使用 g++ 都可以编译。有谁知道发生了什么事?谢谢!

最佳答案

尝试使用 -library=STLport4 构建,因为标准 C++ 库不符合标准。参见 http://www.oracle.com/technetwork/server-storage/solarisstudio/documentation/cplusplus-faq-355066.html#LibComp5了解更多信息。

关于c++ - 使用 Solaris CC 的 std::BinaryPredicate 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7518022/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com