c++中的函数名宏

Function name macro in C++

本文关键字:函数 c++      更新时间:2023-10-16

我有一个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", "");

简单的变化是什么?

标记连接:

#define lua_tpush(TYPE,L,n,f)  (lua_pushstring(L, n), lua_push##TYPE(L, f))

##放在TYPE前面。

#define lua_tpush(TYPE,L,n,f) 
            (lua_pushstring(L, n), lua_push##TYPE(L, f))
                     ^^^^^^ did you wanted ##TYPE here