[英]Incompatible types when initializing type error
我在C語言中遇到了指針和結構的問題。
typedef struct mdata{
int a;
int b;
...
} pred_data_attr;
typedef struct mConfig{
pred_data_attr mdata;
...
} mConfig;
struct control{
struct mConfig mcfg;
...
};
INT32 rdfapp(struct control *rdf){
pred_data_attr* mdata = rdf->mcfg.mdata;
...
}
我收到此錯誤:
使用類型“ pred_data_attr”初始化類型“ struct pred_data_attr *”時不兼容的類型
我該如何解決這個問題?
關於什么:
INT32 rdfapp(struct control *rdf)
{
pred_data_attr * mdata = &rdf->mcfg.mdata;
代碼中的命名是另一個很好的例子,不恰當的命名會導致惱怒和錯誤。
將不同的事物命名為相同的名稱不是一個好主意:
pred_data_attr * mdata /* here mdata is a pointer */
pred_data_attr mdata; /* here mdata is the instance of a structure */
有很多可能的方式可以設置命名方式,在這里我不建議推薦任何命名方式,因為它的主要用途是:
給不同的事物起不同的名字。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.