0

以下简单代码足以重现我遇到的错误。

#include<gio/gio.h>

int main()
{
    GVariantIter *Iter;
    const gchar* s = "[('appname', uint64 size, uint64 field, false)]";
    GVariant* up = g_variant_new_string(s);
    Iter = g_variant_iter_new(up);
    return 0;
}

它导致:

GLib:ERROR:../../../glib/gvariant-serialiser.c:1367:g_variant_serialised_n_children: 代码不应该到达保释!GLib:ERROR:../../../glib/gvariant-serialiser.c:1367:g_variant_serialised_n_children: 代码不应该到达 Aborted

我错过了什么?文档有些模糊。

g_variant_new_string ()

GVariant *          g_variant_new_string                (const gchar *string);
Creates a string GVariant with the contents of string.

g_variant_iter_new ()

GVariantIter *      g_variant_iter_new                  (GVariant *value);
Creates a heap-allocated GVariantIter for iterating over the items in value.
4

0 回答 0