来自here:
g_array_append_val()
#define g_array_append_val(a,v)
将值添加到数组的末尾。如有必要,阵列将自动增大。
g_array_append_val()
是一个宏,它使用对值参数v
的引用。这意味着您不能将其与文字值一起使用,例如" 27"。你必须使用变量。参数
a
GArray
v
要附加到GArray的值
像这样的所有宏定义都可能不正确吗?不是a
指针到GArray吗?
答案 0 :(得分:4)
该文档的术语似乎是将GArray
的指针调用为GArray
。 (这不是准确的IMO)。
例如,请查看下一项:
g_array_append_vals()
GArray * g_array_append_vals (GArray *array, gconstpointer data, guint len);
将len元素添加到数组的末尾。
参数
阵列a GArray
...
返回
GArray
这里的数组显然是指向GArray
的指针。
从LPs' comment可能的原因可能是因为无法创建GArray的对象。 (如果我没记错的话,这是一个不透明的指针),通过调用g_array_new()
获得的新数组的类型为GArray *
。