gpt4 book ai didi

c++ - 我收到此错误 : error c2064: term does not evaluate to a function taking 0 arguments, 但我不明白为什么

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:21:45 26 4
gpt4 key购买 nike

我遇到了这个错误:错误 c2064:术语不计算为采用 0 个参数的函数。问题是函数接受 0 个参数,而我调用 0 个参数,我不明白哪里出了问题。

    RWLock* rwl = new RWLock();
std::thread t1(&RWLock::read);

这就是对函数的调用。这是函数:

    void read();

有人知道问题出在哪里吗?提前致谢!

最佳答案

所有的非静态成员函数都有一个隐藏参数,它成为成员函数中的this指针如果你想将一个非静态成员函数作为一个线程使用,你必须提供this启动线程时的隐藏参数:

std::thread t1(&RWLock::read, rwl);

关于c++ - 我收到此错误 : error c2064: term does not evaluate to a function taking 0 arguments, 但我不明白为什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29535385/

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