请教老师一个问题

来源:10-18 多线程银行存取款案例

remembers

2020-08-15

#include <thread>
#include <iostream>

using namespace std;

struct MyStruct
{
	void func()
	{
		cout << "func" << endl;
	}
};

void test(MyStruct myStruct)
{
	myStruct.func();
}

int main()
{
	MyStruct myStruct;
	thread t(test, myStruct);
	t.join();

	return 0;
}

把上面的 test 函数的参数列表修改成 test(MyStruct& myStruct) 就编译不通过,这是怎么回事呢 ?

写回答

1回答

quickzhao

2020-08-16

报什么错,这里传递引用参数需要使用ref,请仔细对照视频内容修改。

1
1
remembers
对对对,我的意思就是为啥 thread 的情况就需要 ref() 来传递呢
2020-08-16
共1条回复

重学C++ ,重构你的C++知识体系

一部大片,一段历史,构建C++知识框架的同时重塑你的编程思维

3884 学习 · 1103 问题

查看课程