0
我有一個C cfg_struct
,其中包含有關如何評估某些數據的信息。爲了避免評估代碼中的switch
,我將正確的評估函數分配給結構本身。如果在自己的定義中使用它,我是否必須預定義類型/結構?
//Some evaluation function
int eval2(cfg_struct* cfg, int*data);
int eval3(cfg_struct* cfg, int*data);
int eval4(cfg_struct* cfg, int*data);
... and so on
然後是結構應該是這樣的:
struct cfg_struct
{
int rule;
...
int(*eval_fn)(cfg_struct *cfg, int* data);
};
和錯誤:
error: unknown type name 'cfg_struct'
我試圖預定義,但能不能做到?
//My "predefinition":
typedef struct cfg_struct;
'typdef struct'什麼?你需要命名你正在做別名的結構。 –
ca_cfg_t應該是什麼?只需要一個'struct cfg_struct'的typedef? – cegfault
另外,您在某些地方使用'cfg_struct',而不是'ca_cfg_t'。 –