0

私はこのようなコードを持っています:

    #include <iostream>
    #include <tbb/tbb.h>
    #include <Windows.h>



    bool MyThread(int something)
    {
        std::cout << "This is a thread function\n" << std::endl;

        for (int i = 0; i < 10000; i++)
        {
            something++;
            Sleep(1);
        }

        return true;
    }

    int main ()
    {
        tbb::tbb_thread pMyThread = tbb::tbb_thread(MyThread, 3);

        pMyThread.join();

        return 0;
    }

しかし、VS 2008 でコンパイルすると、次のように表示されます。

main() 関数の最初の文字列。どこが間違っていますか?

4

1 に答える 1

3

これは、コピーコンストラクターを呼び出すべきではないときに呼び出す可能性があります。代わりにこれを試してください。

tbb::tbb_thread myThread(MyThread, 3); 

可能であれば、ヘッダーにあるstd::threadの使用も検討する必要があります

于 2012-10-11T17:02:42.803 に答える