我有一个看起来像这样的c ++宏
#define lua_tpushstring(L,n,f) \
(lua_pushstring(L, n), lua_pushstring(L, f))
我想修改它以便像这样工作
#define lua_tpush(TYPE,L,n,f) \
(lua_pushstring(L, n), lua_pushTYPE(L, f))
lua_tpush(boolean, L, "a", true);
lua_tpush(string, L, "a", "");
简单的改变是什么?
答案 0 :(得分:6)
#define lua_tpush(TYPE,L,n,f) (lua_pushstring(L, n), lua_push##TYPE(L, f))
答案 1 :(得分:3)
只需将##
放在TYPE
之前。
#define lua_tpush(TYPE,L,n,f) \
(lua_pushstring(L, n), lua_push##TYPE(L, f))
^^^^^^ did you wanted ##TYPE here