gpt4 book ai didi

C++ std::thread 和方法类

转载 作者:行者123 更新时间:2023-11-30 02:44:03 26 4
gpt4 key购买 nike

<分区>

我正在尝试使用带有 std::thread 的类的函数

下面的代码片段返回一个错误

MyClass *MyClass_ptr = new MyClass;
MyClass_ptr->MyFunction(); // Works

std::thread ThreadA(MyClass_ptr->MyFunction() ); // Error here
std::thread ThreadB(MyClass_ptr->MyOtherFunction() ); // Error here

我需要用指向类的特定指针创建一个线程:MyClass_ptr

那么,有没有办法使用这个特定指针来使用该类的方法?

如果有用,这里是使用 Microsoft Visual Studio 2013 编译的完整代码

#include "stdafx.h"

#include <iostream>
#include <thread>

class MyClass
{

public:
void MyFunction();
void MyOtherFunction();

};

void MyClass::MyOtherFunction()
{
std::cout << "Inside MyOtherFunction" << std::endl;
std::cin.get();
}

void MyClass::MyFunction ()
{
std::cout << "Inside MyFunction" << std::endl;
std::cin.get();
}

int _tmain(int argc, _TCHAR* argv[])
{
MyClass *MyClass_ptr = new MyClass;

MyClass_ptr->MyFunction(); // Works
std::thread ThreadA(MyClass_ptr->MyFunction() ); // Error here
std::thread ThreadB(MyClass_ptr->MyOtherFunction() ); // Error here


delete MyClass_ptr;
MyClass_ptr = nullptr;

return 0;
}

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com