簡體   English   中英

使用typedef結構從不兼容的指針類型進行賦值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM