有一个struct
静态成员,因为它需要在析构函数。我可以从另一个函数内初始化一个静态成员吗?
struct Form
{
// ...
~Form()
{
// access World here
}
static btDynamicsWorld *World;
};
有没有办法从另一个函数中初始化该静态成员?
void ModulePhysics::Init()
{
// ...
btDynamicsWorld *Form::World = /* ... */;
}
我目前的代码导致了这两个编译器错误。
错误1错误C2655: '表::世界':定义或重新声明非法电流范围
错误2错误C2086: 'btDynamicsWorld *表格::世界':重新定义
你确定,一个静态成员是你想要的吗?这对每个班级都是一样的! – Sebastian
@Sebastian'struct'表示物理模拟中的刚体。 “世界”代表了许多物体之间物理交互的空间,只有一个实例存在。必须从破坏的世界中移除尸体,否则模拟会崩溃。如果有更好的方法来解决这个问题,我很乐意听到它。 – danijar
你知道在一个struct中声明一个变量static并不会为它保留任何RAM,并且你需要在其他地方的第二个RAM声明吗? –