我想常量声明接收此指针作为参数。

static void Class::func(const OtherClass *otherClass)
{
   // use otherClass pointer to read, but not write to it.
}


它被这样称呼:

void OtherClass::func()
{
  Class::func(this);
}


如果我不const声明OtherClass指针,则不会编译,我可以更改它。

谢谢。

最佳答案

您不能像这样定义静态类memberv函数:

static void Class::func(const OtherClass *otherClass)
{
   // use otherClass pointer to read, but not write to it.
}


必须在类声明中将函数声明为静态,然后函数定义如下所示:

void Class::func(const OtherClass *otherClass)
{
   // use otherClass pointer to read, but not write to it.
}

09-09 23:15