2009-12-26 82 views
2

我得到在Visual Studio這樣的信息:注意:C++不支持默認int

Note: C++ does not support default-int

這有什麼錯我的C代碼?

#include <stdio.h> 
#include <stdlib.h> 
#include <time.h> 

void remplire (int t[], int n); 
void afficher (int t[], int n); 

void main() 
{ 
    const long_tab = 2000; 
    int t[long_tab]; 
    srand (time(NULL)); 
    remplire (t, long_tab); 
    afficher (t, long_tab); 
} 

void remplire (int t[], int n) 
{ 
    int i; 
    for (i = 0; i <= n; i++) 
    { 
     t[i] = rand(); 
    } 
} 

void afficher (int t[], int n) 
{ 
    int i; 
    for (i = 0; i <= n; i++) 
    { 
     printf ("%d \t", t[i]); 
     if (i % 10 == 0) 
      printf ("\n"); 
    } 
} 
+4

'main()'返回'int'! – GManNickG

回答

12

當您省略標識符類型時,C++顯示此錯誤。

const int variable1; //OK 
const variable2; //Not OK 

這是錯誤的MSDN描述:

http://msdn.microsoft.com/en-us/library/ms173696%28VS.80%29.aspx

此外,如果突出顯示錯誤在輸出選項卡,然後按F1 - Visual Studio的幫助會告訴你一個頁面說明錯誤更詳細地說,類似於上面的鏈接。

+0

非常感謝,真的 – hamza

+0

隱式int已經在C99中被刪除,它也不是C++ 98的一部分。 –

+0

@PrasoonSaurav是你正在談論的C99和C++ 98標準,或者它只是Visual Studio的含義。即意味着像eclipse這樣的其他C/C++ IDE可以很好地適用於隱式的int聲明。 –

1

const long_tab = 2000應該是const int long_tab = 2000。您也可能有其他問題,但我不能輕易閱讀您的代碼,因爲它被嚴重重新格式化爲SO。

+0

你可以請求告訴我其他錯誤在哪裏 – hamza

+0

現在,朱麗葉重新格式化你的代碼,我沒有看到任何其他錯誤*與該編譯器錯誤相關*。 –

相關問題