2011-06-20 92 views
0

所以我嘗試編譯一組由別人寫的C文件,和我不斷收到以下錯誤:空白錯誤?

TBin.h:10: error: expected '=', ',', ';', 'asm' or 'attribute' before 'TBin'

這是在.h文件中出現,目前有一個#ifndef#define在課堂定義之前。該生產線本身是:

class TBin { 

沒有什麼之前在別的文件中,沒有包括沒有評論,任何事情沒有隨機位。即使我刪除警衛並將聲明移到文件頂部,我也會得到同樣的錯誤。我認爲只有在前面的代碼中存在問題時纔會發生這種情況,但我沒有前面的代碼!想法?

+3

你能顯示導致錯誤的實際行嗎? –

+0

當然:類TBin { – Cat

回答

3

您不能在C中使用「類」。嘗試使用C++編譯器。 ;-)

只是爲了對比,這裏是從鐺輸出:

% ~/ellcc/bin/ecc ~/test.c 
/home/rich/test.c:1:1: error: unknown type name 'class' 
class TBin { 
^ 
/home/rich/test.c:1:11: error: expected ';' after top level declarator           
class TBin { 
     ^
      ;                         
2 errors generated. 

有點更具描述性的,也許,但不會太大。

+0

正確,無效的關鍵字。 – VGE

+0

現在我感到很傻。 :-)它工作得很好。謝謝。 – Cat

0

看起來TBin的定義在頭文件中缺失。嘗試找出在源代碼樹中定義了TBin數據類型(或typdef或其他)的位置,並嘗試將該頭文件包含在你的頭文件中。 提供整行引起的錯誤將會非常有幫助。

0

您正試圖用C編譯器編譯C++代碼。你是否有機會使用gcc?如果您編譯C++代碼,則需要使用g++