根据预处理程序指令

时间:2016-09-04 11:00:54

标签: c++ c-preprocessor

尝试了以下代码的几个变体,但是没有编译,基本上我想要实现的是我希望能够定义命名空间,即std或eastl,然后简单地将它附加到容器类型:

#ifndef EASTL 
#include <vector> 
#define NMS std  
#else  
#include <EASTL\vector.h>
#define NMS eastl  
#endif

template<class T>
using vector_t = NMS##::##vector<T>;  

但不幸的是我无法找到办法。任何建议都非常受欢迎。

1 个答案:

答案 0 :(得分:1)

如果您确定要这样,只需输入

即可
Any

没有AnyObject预处理程序指令(这些指令仅在宏定义中处理,而不在模板中处理)。