这是什么意思?

What does : mean?

我有2个类:

class base {
    virtual void foo() {};
};

class derived : public base {
    void foo() { base::foo(); }
};

我写错了 base:foo(); 而不是 base::foo();。代码已编译 运行,但出现段错误。

我不知道怎么 Google 它也不知道它是什么,但我很感兴趣:那是什么意思?

base:foo();

如果重要:

class base : public QAbstractGraphicsShapeItem
void foo() { base:foo(); }

相当于:

void foo()
{
   base: // An unused label.
   foo(); // Calls the function again, resulting in infinite recursion.
}

由于无限递归,函数导致栈溢出