Compiler errors 如何使用std::bind

Compiler errors 如何使用std::bind,compiler-errors,bind,Compiler Errors,Bind,我试图在一个简单的示例中实现std::bind: #include <functional> #include <iostream> using namespace std; using namespace std::placeholders; int multiply(int a, int b) { return a * b; } int main() { auto f = bind(multiply, 5, _1); for (int i =

我试图在一个简单的示例中实现std::bind:

#include <functional>
#include <iostream>
using namespace std;
using namespace std::placeholders;
int multiply(int a, int b)
{
    return a * b;
}
int main()
{
    auto f = bind(multiply, 5, _1);
    for (int i = 0; i < 10; i++)
    {
        cout << "5 * " << i << " = " << f(i) << endl;
     }
    return 0;
}
当给定的示例返回编译错误o.o.时,会很尴尬


提前感谢您的帮助

只要将
-std=c++11
开关传递到
gcc
,并且在Visual Studio 2013的11月CTP编译器发布时,您的代码就可以很好地编译

下面是代码的命令行编译示例:

g++-4.8 -std=c++11 -O2 -Wall -pedantic main.cpp

请查阅以了解您的选项-在xcode下调用或直接调用。

您使用的是哪种编译器?std::bind是在c++11中引入的。你的编译器可能不支持C++ 11,或者你没有把正确的选项传递给Mac的CimuleRI工作,我在2013的夏天下载了C++编译器,所以我不明白为什么它不工作……2013是不够的。您需要下载并选择它作为项目的Visual Studio项目设置中的工具集。
g++-4.8 -std=c++11 -O2 -Wall -pedantic main.cpp