[英]assignment from incompatible pointer type using a typedef struct
通常,當我收到此類錯誤消息時,這意味着該結構從代碼中隱藏了,因此,我無法直接使用該結構的變量。
在這種情況下,該結構在同一C文件中定義。
我將C文件粘貼到了http://bpaste.net/show/224777/
在第330行,我有以下代碼:
TrackBoxWidget *track_box_widget_new(GtkWidget *track_data_widget,GVariant *audio_in_devices) {
// can add more parameters here
TrackBoxWidget *widget = g_object_new(TRACK_BOX_WIDGET_TYPE,"audio_in_devices", audio_in_devices,NULL);
/*LINE 330*/ widget->track_data_widget=track_data_widget;
...
如您所見,我正在嘗試在小部件TrackBoxWidget typedef中設置track_data_widget變量。 而且我仍然會收到此錯誤。
有任何想法嗎?
在任務的左側,您有widget->track_data_widget
,它是TrackBoxWidget
(也稱為struct _track_box_widget
)的成員,類型為TrackDataWidget*
。
在任務的右側,您具有track_data_widget
,它是track_box_widget_new
函數的參數,類型為GtkWidget*
。 由於兩個指針的類型不同,因此如果不進行強制轉換,則不允許在它們之間直接分配。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.