質問: 0; i < 10; ++i) { std::cout << "I'm the main thread" << std::endl; } mutex.unlock(); // ロック解除 return 0; } ``` ### 試したこと main関数1行目のthread()の引数を`func()`から`(func())`に変更したところ、 ``` main.cpp(21): error C2228: '.launch' の左側はクラス、構造体、共用体でなければなりません ``` という発生していたエラーは解決しました。 しかし、どの記述が関数が関数を返す形になっているか検討も着かないです... ### 補足情報(FW/ツールのバージョンなど) SFML-2.5.0 Visual C++ 15 (2017) - 32-bit Microsoft Visual Stadio 2017
回答: operater → operator です。 (以下、勘違いの回答でした。) C++11以降に対応したC++コンパイラであれば下記コードで期待通り動きます。 ``` sf::Thread thread{func()}; ```