【发布时间】:2014-08-21 09:06:55
【问题描述】:
我无法在代码(vs2013)块下构建并出现错误“错误 C2248:'Concurrency::critical_section::critical_section':无法访问在类 'Concurrency::critical_section' 中声明的私有成员” em>
任何人都可以帮助解释为什么会发生这种情况?谢谢
#include <ppl.h>
class Class1{
public:
concurrency::critical_section _cs;
int f1;
Class1(int f){ f1 = f; }
};
class Class2{
public:
std::vector<Class1> v1;
Class2(){ v1.push_back(Class1(1)); v1.push_back(Class1(2)); }
};
int _tmain(int argc, _TCHAR* argv[])
{
Class2 c2();
return 0;
}
【问题讨论】:
-
您收到的错误信息是all吗?请编辑您的问题以包含 complete 和 unedited 错误日志。另外请指出错误在代码中的哪一行。
-
concurrency::critical_section不可复制。 -
Class2 c2();没有声明对象c2。它将其声明为返回Class2的函数 -
@Ajay。修改为Class2 c2;谢谢。错误仍然存在。
-
@Xin 供以后参考,VS的“错误列表”中的错误信息一般都是不完整的。您需要检查构建输出以获取完整消息。
标签: c++ ppl concurrency-runtime