【发布时间】:2015-12-23 09:28:05
【问题描述】:
此代码过去在 Visual Studio 2015 中运行良好,但不再适用于 Visual Studio 2015 更新 1。
class Foo
{
protected:
virtual ~Foo() {};
friend class Foo__init;
};
class Foo__init
{
public:
Foo _init;
};
static Foo__init _Foo_init;
它失败并出现以下错误:
Error C2248 'Foo::~Foo': cannot access protected member declared in class 'Foo'
这是编译器错误还是代码格式错误?
【问题讨论】:
-
我不是在问这个。 :)
-
如果你把
class Foot__init;放在Foo的定义之前会发生什么? -
这是stackoverflow.com/questions/34376316/…的完全相同的副本
-
另外,删除
_Capital和double__underscore。这些名称是保留的。 -
@T.C.如果您就其中任何一个问题写下答案,我们可以将其中一个标记为重复;)