1

重複の可能性:
Windows での C++11 スレッド

タイトルはそれをほとんど説明していますが、私は次のコードを使用しようとしています:

#include <thread>
#include <iostream>

using namespace std;

void task_1(){
    cout << "Thread 1" << endl;
}

int main(){
    thread task(task_1);
    task.join();
    return 1;
}

しかし、コンパイルエラーが発生します

D:\dev\cpp\trash\thread.cpp|11|エラー: 'スレッド' はこのスコープで宣言されていません|

オプション -std=c++0x を使用して、GNU GCC コンパイラで Code:Blocks 10.05 を使用しています。

Code:Blocks は最近ダウンロードされたばかりなので、すべてが最新の状態になっているはずです。

4

2 に答える 2

2

表示されるエラーはコンパイラ エラーであるため、リンカー オプションは効果がありません。などの C++11 機能をサポートするようにコンパイラを正しく構成していることを確認する必要がありますstd::thread。コンパイラ (リンカーではなく) オプションを使用する-std=c++0x-std=c++11、必要なすべての場合があります。

于 2012-12-22T10:40:08.543 に答える
0

GCC では、C++11 のサポートがまだ非常に実験的であることに注意してください。サポートは間もなく開始されますが、いくつかのリグレッションがまだ存在します。http://gcc.gnu.org/を参照

于 2012-12-22T11:28:09.830 に答える