следующие коды могут работать очень хорошо в WINDOWS и LINUX, но терпят неудачу в MAC:Ни один член не назвал «привязывать» в пространстве имен ошибки станда
платформыtemplate <typename T>
inline bool similar_fun(const std::vector<T> &a, const std::vector<T> &B, T threshold)
{
using namespace std::placeholders;
std::vector<T> differ;
std::transform(a.begin(), a.end(), b.begin(),
std::back_inserter(differ), std::bind(sub_fun<T>, _1, _2));
return (std::accumulate(differ.begin(), differ.end(), static_cast<T>(0), Norm2<T>()) <= threshold);
}
Развития является Xcode 4, и компилятор Clang LLVM 1.0 Я также убедиться, что компилятор использует новый C++ стандарт C++ 0x сообщения об ошибках следующим образом:..
using namespace std::placeholders; *Expect namespace name
std::bind(sub_fun) *No member named "bind" in namespace std
Вы явно включить ''? Иногда заголовки неявно включаются в некоторые платформы, но не в другие. –
@Arne Meritz Спасибо, я уже поставил файл главы. – feelfree
LLVM 1.0? Ты уверен? Этот компилятор [датирован] (http://llvm.org/releases/) 24 октября 2003 г. –