我在使用的 C++ 项目中遇到了一些语法,但不知道该怎么做。编译器不会抛出任何与此相关的错误:
lua_pushstring(L,"swig_runtime_data_type_pointer" SWIG_RUNTIME_VERSION SWIG_TYPE_TABLE_NAME);
请注意 [我假设的] 函数参数之间的空格。
lua_pushstring
的函数定义是
LUA_API const char *(lua_pushstring) (lua_State *L, const char *s);
SWIG_RUNTIME_VERSION
是一个 #define
等于 "4"
SWIG_TYPE_TABLE_NAME
在以下 block 中定义:
#ifdef SWIG_TYPE_TABLE
# define SWIG_QUOTE_STRING(x) #x
# define SWIG_EXPAND_AND_QUOTE_STRING(x) SWIG_QUOTE_STRING(x)
# define SWIG_TYPE_TABLE_NAME SWIG_EXPAND_AND_QUOTE_STRING(SWIG_TYPE_TABLE)
#else
# define SWIG_TYPE_TABLE_NAME
#endif
谁能解释一下这是怎么回事?
为了进一步引用,该代码用于 swig project在 GitHub 上:luarun.swg:353和 luarun.swg:364 .
最佳答案
静态字符串连接。 “你好”“世界”与“ Hello World ”相同。
关于c++ - 函数调用参数列表中的空格 (C++),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41836383/