【发布时间】:2014-02-26 13:49:18
【问题描述】:
我尝试从 c++ 循环中的计数器变量构建动态字符串,我在考虑简单的macro。
类似这样的:
// its enum element string LOCAL_1, LOCAL_2 .....
#define CREATE_STR(N) LOCAL_##N
int ii =1;
for(;ii<=COLS_NUMBERS_PER_WINDOW;)
{
pGameObj->IniGameObj(pMainWindowObjCenter,
CREATE_STR(ii),
Z,
ii);
GameVector.push_back(pGameObj);
ii++;
}
但它给了我编译器错误
error C2065: 'LOCAL_ii' : undeclared identifier
还有其他从动态变量构建动态字符串的好方法吗?我可以使用 c++11。
更新:
我想我只需要这个:
Enum C++ Get by Index
【问题讨论】:
-
宏在“正常”编译之前运行,更不用说在运行时了。
-
我希望这就是您所指的。 stackoverflow.com/questions/806543/…
-
@chris: 我得到 : 无法将参数 2 从 'std::basic_string<_elem>' 转换为 'GameObjectTypeLocation' 它的枚举类型