我正在制作一个反恐精英版本,在编译过程中我遇到了一些错误:
Panel.cpp(715): error C2248: 'CInput::CVerifiedUserCmd' : cannot access private class declared in class 'CInput'
1> \SDK\\game\\client\\input.h(238) : see declaration of 'CInput::CVerifiedUserCmd'
1> \SDK\\game\\client\\input.h(39) : see declaration of 'CInput'
第715行:
CInput::CVerifiedUserCmd* ver = NULL;
声明:
class CVerifiedUserCmd
{
public:
CUserCmd m_cmd;
CRC32_t m_crc;
};
我该如何解决这个问题?
答案 0 :(得分:4)
您可能正在尝试使用private
内部类:
class A
{
class B
{
};
};
如果您希望在外面使用它,只需创建课程public
:
class A
{
public:
class B
{
};
};
编辑:
如果该类是私有的并且它是第三方库的一部分,那么你可能做错了。为您的问题寻找不同的解决方案,出于某种原因将其设为私有。
答案 1 :(得分:3)
假设你的代码放在了类
CVerifiedUserCmd
到外部类的公共部分。否则你不能使用CVerifiedUserCmd,因为它是私有的内部类。
答案 2 :(得分:1)
您可能无法(除非您想编辑引擎本身) - 寻找更好的解决方案来解决您的问题。基本上,不要尝试手动实例化CInput::CVerifiedUserCmd
。