這裏給出的代碼在由g ++編譯時運行良好,但是在使用gcc編譯時出錯。顯然,這是對C++正確而不是C.請幫我糾正語法C.C和C++之間的區別
# include <stdio.h>
typedef struct demo
{
int arr[20], i;
void setvalue(int num)
{for(i=0;i<20;i++)arr[i]=num;}
void printvalue()
{for(i=0;i<20;i++)printf("%d ",arr[i]);}
} example;
int main()
{
example e;
e.setvalue(100);
e.printvalue();
return 0;
}
錯誤日誌:
stov.c:7:2: error: expected ‘:’, ‘,’, ‘;’, ‘}’ or ‘__attribute__’ before ‘{’ token
stov.c: In function ‘main’:
stov.c:18:3: error: ‘example’ has no member named ‘setvalue’
stov.c:19:3: error: ‘example’ has no member named ‘printvalue’
問這樣的問題時告訴我們是什麼錯誤這將是很好。 – Bart
你的空間吧打破了嗎?你的輸入鍵有點狡猾嗎? –
我沒有低估這個,但我理解那些做過的人:C和C++根本不同,你的問題沒有道理;你基本上是問「我做了X,爲什麼不是不相關的Y工作?」你會期望你的代碼在Pascal編譯器上工作嗎?在JavaScript中?在Haskell中?當然不是。那麼爲什麼它應該在C中工作? C和C++的常見,不合理的混合真的很乏味。 –