2
我在使用Sun Studio编译器的Solaris上有问题。它似乎与libCstd有关。问题与std :: BinaryPredicate使用Solaris CC
考虑下面的代码:
#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 ++编译都可以。有谁知道发生了什么事?谢谢 !
也许是库实现中的错误。你可以在列表标题中查找相关部分吗? –
不幸的是,我找不到头文件。 – ghi
'grep -rH searchTerm/usr/include'如何? –