繁体   English   中英

包含常量而不导入头文件

[英]Including constants without importing header file

我设置了一段代码来接受一个常量整数参数(问题的维度),但是它可以在许多不同的维度上运行。

我不想每次运行时都不必更改硬编码的尺寸,理想情况下,我将定义几个虚拟的标头函数,它们基本上只是:

#ifndef dim_define_h 
#define dim_define_h 

    const int dimension = [DIMENSION SPECIFIC TO THIS HEADER FILE];

#endif

然后在编译时,我可以使用该实例所需的头文件,例如:

g++ dimension_6.h code.cpp

这样的事情可能吗? 在头文件中定义一个常量,并在另一个未显式导入该头文件的文件中使用它?


编辑:

我的下一个尝试是仅使用main函数,将其与尺寸定义一起粘贴到另一个文件中,并对其进行复制。 然后编译如下:

g++ dim_specific_main.cpp lots.cpp more.cpp helpers.cpp

而且我认为这是通过现在main的编译实现的,它依赖于所有helper文件中定义的helper函数。 不幸的是,当它尝试编译辅助函数时,它需要在main.h中定义的常量,并且似乎已经忘记了它。

编辑2:我现在意识到我正在尝试在编译时需要知道它的地方使用此变量,并且我认为链接是在编译后发生的,因此我认为这种特殊方法是不可能的。

const int dimension = THE_DIMENSION;

然后用

g++ -DTHE_DIMENSION=6 code.cpp

不需要标题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM