线程不是std c ++的成员

时间:2018-08-24 14:40:03

标签: c++ multithreading random std

我遇到了无法使用线程的问题,因为我不断收到错误消息“线程”不是“ std”的成员。”

我正在将MinGW和c ++ 11用作编译器标志。.在昨天制作的小程序中,它工作正常。基本上,我想在玩带有伪随机数的猜谜游戏时玩“哔哔”歌曲。

;

它总是给我同样的错误int rnumber, guess, maxrand; std::thread t1(pinkpanther); t1.detach(); cout << "What do you want the maximum Number to be? "; cin >> maxrand; rnumber = randy(maxrand); //Start cout << endl << "This is a game!" << endl << "You have 5 tries to guess the random number generated by this program, have fun" << endl; for (int i = 0; i < 5; i = i + 1) { cout << "Your guess: "; cin >> guess; if (guess < rnumber) { cout << "Your guessed number is smaller than the answer! Try again!" << endl << endl; } else if (guess > rnumber) { cout << "Your guessed number is bigger than the answer! Try again!" << endl << endl; } else { cout << "you guessed the right number!"; break; } } return 0; 而且我真的不知道为什么了

编辑:pinkpanther()仅播放我在“哔哔”中找到的pinkpanther歌曲

Edit2:我有几个库(Windows,线程,ctime和ctdlib)

2 个答案:

答案 0 :(得分:1)

您使用了什么MinGW版本?如果您使用Win32线程模型,则它不支持C ++ 11线程。您应该改为使用POSIX线程模型(基于Winpthreads)来抓取一个,但是请注意,这是个问题。

答案 1 :(得分:0)

您提供的代码永远不会month。那么编译器应该如何知道#include <thread>是什么?

通过在文件顶部添加std::thread来解决问题。

还要确保使用的编译器实际上支持C ++ 11(或更高版本)和#include <thread>