gpt4 book ai didi

c++ - 如何获取在 Main.cpp 中声明的全局变量以便在 header 中访问

转载 作者:行者123 更新时间:2023-11-30 02:36:49 25 4
gpt4 key购买 nike

如何让全局变量出现在变量声明后包含的 header 中?我是这样安排的,但是在标题中,它没有被识别为已定义:

主要.cpp:

const int COUNT = 10;
void (* FUNCTION[COUNT])();
const char * DESCRIPTION[COUNT];

#include "TestFont.h"

testFont.h:

#define COUNTER_VAR = __COUNTER__;
DESCRIPTION[COUNTER_VAR] = "description";
FUNCTION[COUNTER_VAR] = func;
#undef COUNTER_VAR

在 header 中,DESCRIPTIONFUNCTION 被视为未定义,我如何才能使用它们?

免责声明:它 super 丑不是吗!这完全适用于 VS 中的沙盒项目,因此我可以使用 C++ 编写小型单文件测试或脚本,并尽可能少地进行 IDE 设置。目标是实现它,所以我需要做的就是在 main.cpp 中包含 header ,并且 main 将具有必要的函数指针和描述以将其列为控制台中的选项。请不要打分!

最佳答案

以下行在函数体之外是不合法的。

DESCRIPTION[COUNTER_VAR] = "description";
FUNCTION[COUNTER_VAR] = func;

您可能需要将其包装在辅助函数中。

static int init()
{
#define COUNTER_VAR = __COUNTER__;
DESCRIPTION[COUNTER_VAR] = "description";
FUNCTION[COUNTER_VAR] = func;
#undef COUNTER_VAR
}

并调用该函数。

static int dummy = init();

关于c++ - 如何获取在 Main.cpp 中声明的全局变量以便在 header 中访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32316896/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com