class Emp
{
int no;
char name[50];
public:
void get_data();
} e;
void func_get();
enum ITEMTYPE
{
MI_PARENT, MI_ACTION
};
struct MENUITEM {
enum ITEMTYPE type;
char *name;
char *helpstring;
void *p;
};
// 1
struct MENUITEM get_data = {
MI_ACTION,"Get","Enter to Get", e.get_data() }; // calling get_data() of type void by using abject e
// 2
struct MENUITEM root_draw = {
MI_PARENT, "Options", "Enter to list the Options Menu", (void*)func_get /* calling Global function which have return type void */
};
struct MENUITEM *draw_list[] = {
&get_data
};
我使用上面我的程序代碼的錯誤,當我調用全局函數(案件// 2) 在程序執行properly.But當我試圖打電話函數使用類的對象(大小寫// 1)它顯示錯誤「類型void不允許的值」。 任何人都可以告訴我什麼是解決這個問題。我想無論如何打電話給我的課程功能。 在此先感謝。值類型爲void不允許在C++
'e.get_data()'是一個函數**調用**,'func_get'是一個函數。 –
好的..但如果我想調用get_data(),該怎麼做。 – kammy
這沒有任何意義; 'func_get'返回'void';你不能把它分配給'void *'。 –