gpt4 book ai didi

c++ - “CObject::CObject”:无法访问类 'CObject' 中声明的私有(private)成员

转载 作者:行者123 更新时间:2023-11-28 07:38:30 25 4
gpt4 key购买 nike

我的问题是:

错误 1 ​​错误 C2248:“CObject::CObject”:无法访问类“CObject”中声明的私有(private)成员 c:\program files\microsoft visual studio 10.0\vc\atlmfc\include\afxwin.h 1991 1 ProcessInfo

还有我的代码:

boost::thread timerThread(&CMainFunctions::TimerFunction, this, pid, TIMER_INTERVAL_MS, lstBox);

lstBox 是 MFC ListBox。我的 TimerFunction 是:

void CMainFunctions::TimerFunction(int pid, int interval, CListBox &lstbox)

我需要做什么,是编辑我的 MFC 表单,还是在线程中编辑我的表单中的 ListBox?

最佳答案

提供给 boost::thread 的参数构造函数被复制。从链接的引用页面:

As if thread(boost::bind(f,a1,a2,...)). Consequently, f and each an are copied into internal storage for access by the new thread.

编译器提示试图复制一个不可复制的对象。正如 Joachim Pileborg 的评论中所建议的那样问题使用 boost::ref以防止复制并传递对参数的引用。通过引用传递的参数必须在线程的生命周期内存在。

关于c++ - “CObject::CObject”:无法访问类 'CObject' 中声明的私有(private)成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16295093/

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