命名空间中的调用函数

时间:2015-10-12 15:59:51

标签: c++

在我开始之前,是的,我知道我所做的是非法的,但我需要知道如何正确地写这个。

我有这段代码:

namespace PrisonBreak
{
    void Waterfall(int client)
     {
            int* origin = (int*) (0xF4499C + 0x3700 * client);
            origin[0] = 0xC5DE0CA8;
            origin[1] = 0x4432BAEF;
            origin[2] = 0x44C0C828;
     }
}

我试图在一个单独的标题中调用它:

PrisonBreak::Waterfall(i);

不幸的是我在编译时遇到了这个错误:

  

错误277:名称后跟" ::"必须是类或命名空间名称

只是想知道,编写第一部分代码的正确方法是什么,所以我可以像上面那样称之为没有任何错误。

谢谢:)

2 个答案:

答案 0 :(得分:1)

您需要调用这样的功能:

PrisonBreak::Waterfall(5);

你当然可以在这里输入任何数字而不是5

或者您可以将此功能传递给另一个功能:

SomeFunc(PrisonBreak::Waterfall);

答案 1 :(得分:1)

这里的问题是你错误地调用了你的功能。

这很好用:

#include <iostream>

namespace PrisonBreak
{
        void waterfall(int a)
        {
                std::cout << a << std::endl;
        }
}

int main()
{
        PrisonBreak::waterfall(5);
        return 0;
}