在命名空间的结构中使用静态函数时出错。 (c++)

Error in using static function in struct in namespace. (c++)

我有这段代码 我在命名空间中创建了带有静态函数的结构:

namespace Hashing {
    ///...
    struct Hash {
        ///...
        static void init(int n, const ull m = 31ull) {
             ///...
        }
    };
    ///...
}

我在main中使用了以下代码:

int main() {
    ///...
    Hashing::Hash.init(12);
    ///...
}

发生错误:

error: expected unqualified-id before '.' token
  Hashing::Hash.init(12);
               ^

这是为什么?

将其更改为:Hashing::Hash::init(12);。静态成员函数不与任何对象关联。

使用 :: 调用静态方法,例如 Hash::init()

使用.用于成员函数和变量。 class Hash 不是成员,但 Hash h 是。

.应该是::

编辑代码:

#include <iostream>
namespace Hashing{
  struct Hash{
    static void print(int num){
      std::cout<<num<<"\n";
    }
  };
}
int main() {
  Hashing::Hash::print(12);
}