比如下面程式
#inlcude struct myarr
;bool is_empty(struct myarr *parr);
int main(void)
; struct myarr *parr = a;
if(is_empty)
printf("陣列為空!\n");
else
for(int i=0;icnt; i++)
printf("%d\n",parr->pbase[i]);
return 0;
}bool is_empty(struct myarr *parr)
生成專案的時候出現錯誤,提示如下:
error c2061: syntax error : identifier 'is_empty'.
因為bool是c++型別,c語言中沒有bool型別,你的原始檔是.c檔案,預設按c語言編譯器編譯,所以報錯了,你可以定義bool型別:typedef int bool;也可以把檔案字尾名改為.cpp,用c++編譯器編譯。
當我把這個test.c檔案該位test.cpp再次編譯的時候就沒有錯誤了。
當然這是一種解決方案。另外還有2中解決辦法
1、就是在前面定義bool型別
typedef int bool;
光這樣定義是不行的,還會提示true和false沒有定義,因此我們再把true和false定義下
#define true 1
#define false 0
加上這三句**之後,test.c再次編譯就成功了。
2、直接把bool和true,false全部一次定義進去,我們用每句enum。
typedef enum bool
bool;
這樣之後也就能成功編譯了。
vs2005中編寫純c程式
步入.net時代後,vs馬上就換了個臉,對那些平時用vc做作業的人來說,立馬就受到了個下馬威 直接新建源 不能編譯了!看到選單欄上一堆一堆的 選項,彷彿vs2005已經不能作為純c的ide使用了。然而vs的功能太強大,到底能否使用vs2005 2003編寫純c程式呢?當然可以!只是步驟 會麻煩一些。...
VS2005 製作安裝程式的一些網路教程
原文寫於 2006 12 14 在vs2005中,製作安裝程式需要建立setup project,後面的操作就比較簡單了。我在網上看了一些文章,把它們列在下面 文章 內容 備註 customizing setup project in visual studio.net 2005 簡單介紹了setu...
VS2005中C 的模板丟失問題
vs2005中我建立乙個c 的windows應用程式,準備在專案中新增乙個windows窗體,但是系統提示找不到模板資訊,只能整合別的模板資訊,怎麼樣把我這個功能恢復正常?1。找到 f program files microsoft visual studio 8 common7 ide proje...