0

構造体のために

typedef struct Recording_Settings recording_settings;
struct Recording_Settings
{
    gchar *profile;
    gchar *destination;
};

recording_settings rec_settings;

これをしようとすると警告が表示されます

static void profile_combo_change_cb(GtkComboBox *combo, gpointer userdata)
{
    GtkTreeIter iter;
    GtkTreeModel *model;

    /* Grab the encoding profile choosen */
    model = gtk_combo_box_get_model (GTK_COMBO_BOX (combo));
    if (gtk_combo_box_get_active_iter(GTK_COMBO_BOX(combo), &iter)) {
        gchar *media_type;
        gtk_tree_model_get(GTK_TREE_MODEL(model), &iter, 0, &media_type, -1);
        rec_settings.profile = rb_gst_get_encoding_profile(media_type); // Warning: assignment from incompatible pointer type
        g_free (media_type);
    }
}

私は何かを誤解しているか、見逃していますか?

ありがとう。

4

1 に答える 1

0

のタイプのrb_gst_get_encoding_profileようです

GstEncodingProfile *rb_gst_get_encoding_profile (const char *media_type);

ただし、その戻り値を a に割り当てますgchar *

GstEncodingProfile私がstruct判断できる限り(typedef struct _GstEncodingProfile GstEncodingProfile;)、gcharおそらくtypedef文字型の型です(おそらくtypedef char gchar;glibから)。したがって、型は互換性がありません。

于 2012-12-28T21:27:52.980 に答える