函数调用参数列表中的空格(C++)

J. *_*tus 0 c++ swig

我在与我合作的C++项目中遇到了一些语法,并且不知道该怎么做.编译器不会抛出与此相关的任何错误:

lua_pushstring(L,"swig_runtime_data_type_pointer" SWIG_RUNTIME_VERSION SWIG_TYPE_TABLE_NAME);
Run Code Online (Sandbox Code Playgroud)

注意[我假设的]函数参数之间的空格.

函数定义lua_pushstring

LUA_API const char *(lua_pushstring) (lua_State *L, const char *s);
Run Code Online (Sandbox Code Playgroud)

SWIG_RUNTIME_VERSION#define等于"4"

SWIG_TYPE_TABLE_NAME 在以下块中定义:

#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
Run Code Online (Sandbox Code Playgroud)

谁能解释一下这里发生了什么?

为了进一步参考,代码用于GitHub上的swig项目:luarun.swg:353luarun.swg:364.

Edw*_*nge 5

静态字符串连接."Hello""World"与"Hello World"相同.