基于用户定义的数值宏PROBNO
,我想包含一个文件"prob[PROBNO].hpp"
,并运行同名函数, 概率 [PROBNO]()
。这里的问题是我需要包含文件的引号,因为 < > 给我一个找不到文件的错误。我目前正在做以下事情:
#define STRINGIFY2(x)#x
#define STRINGIFY(x)STRINGIFY2(x)
#define CONCAT2(x,y)x##y
#define CONCAT(x,y)CONCAT2(x,y)
#define PROBNAME CONCAT(prob,PROBNO)
#include STRINGIFY(PROBNAME.hpp)
#include<iostream>
int main(){
std::cout<<PROBNAME()<<'\n';
}
这样就可以了,但是看起来很乱。有什么办法可以摆脱一些指令吗?
最佳答案
使用角度而不是引号:
#define PROBNAME <prob PROBNO.h>
#include PROBNAME
关于c++ - 是否有更简洁的方法来包含基于宏定义部分名称的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35244959/