Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/155.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 命名空间中的调用函数_C++ - Fatal编程技术网

C++ 命名空间中的调用函数

C++ 命名空间中的调用函数,c++,C++,在我开始之前,是的,我知道我所做的是“非法的”,但我需要知道我会做什么来正确地写这篇文章 我有以下代码: namespace PrisonBreak { void Waterfall(int client) { int* origin = (int*) (0xF4499C + 0x3700 * client); origin[0] = 0xC5DE0CA8; origin[1] = 0x4432BAEF;

在我开始之前,是的,我知道我所做的是“非法的”,但我需要知道我会做什么来正确地写这篇文章

我有以下代码:

namespace PrisonBreak
{
    void Waterfall(int client)
     {
            int* origin = (int*) (0xF4499C + 0x3700 * client);
            origin[0] = 0xC5DE0CA8;
            origin[1] = 0x4432BAEF;
            origin[2] = 0x44C0C828;
     }
}
我试图在单独的标题中调用它,如下所示:

PrisonBreak::Waterfall(i);
PrisonBreak::Waterfall(5);
很遗憾,我在编译时遇到此错误:

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

只是想知道,编写第一段代码的正确方法是什么,这样我就可以像上面那样调用它而不会出现任何错误

谢谢:)

您需要像这样调用函数:

PrisonBreak::Waterfall(i);
PrisonBreak::Waterfall(5);
您当然可以在这里输入任何数字,而不是
5

或者,您可以将此函数传递给另一个函数:

SomeFunc(PrisonBreak::Waterfall);

你这里的问题是你调用你的函数是错误的

这很好:

#include <iostream>

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

int main()
{
        PrisonBreak::waterfall(5);
        return 0;
}
#包括
命名空间PrisonBreak
{
虚空瀑布(INTA)
{

std::cout为我编译:请发布一个。尝试在函数中传递一个参数。我不明白您如何认为我们可以从代码中明确确定您的意图,您自己承认,这些代码并不表示您的意图!听起来像是要调用的名称空间范围放在头中。将其放在函数中,或者放在初始值设定项ex中按以获取某些内容。在命名空间范围中,您只能有声明,不能有命令。糟糕,我没有正确编写它。我试图像PrisonBreak::瀑布(I)一样调用它;但它仍然不起作用:P@alboyiscool,它是如何工作的?仍然是一样的?您是否正确地包含了所有头文件?是的,我已将所有头文件都包含在主cpp文件中,因此那里绝对没有问题。当我编译它时,它抱怨函数必须是类或命名空间名称,那么这将如何工作?@alboyiscool-如果代码位于不同的标题中,则必须按正确的顺序包含它们。nvm,@BoPersson的建议修复了我的问题:)