Boost thread c2064 error when trying to compile
08:58 10 Oct 2013

I am using Boost library thread version 1.54.0 and VS2010 32 Bit - Professional.

I have built the libraries for the Boost thread, not using precompiled headers in vs C++ settings, linked the library to the project. Here is the code:

#include 
#include 
#include 
#pragma comment(lib, "libboost_thread-vc100-mt-gd-1_54.lib")
#define BOOST_LIB_NAME libboost_thread-vc100-mt-gd-1_54.lib


struct callable
{
     void blah();
};

void callable::blah()
{
    std::cout << "Threading test !\n";
}
boost::thread createThread()
{
    callable x;
    return boost::thread(x);
}
int main()
{
    createThread();
    _getch();
    return 0;
}

After all this I get this error:

Error   1   error C2064: term does not evaluate to a function taking 0 arguments    ..\..\boost_1_54_0\boost\thread\detail\thread.hpp   117 1   BoostTrial

How can I get this example to work? The reason why I am using this example is because I have another app which has been set up exactly the same way and it's not working because of this error. My goal is to get the multi-threading to work and then I can take it from there.

c++ multithreading visual-studio-2010 boost