空白的错误?

时间:2011-06-20 12:47:41

标签: c++ header-files

所以我正在尝试编译由其他人编写的一组C文件,并且我不断收到以下错误:

  

TBin.h:10:错误:预期'=',',',   ';','asm'或'属性'之前   'TBIN'

这发生在.h文件中,该文件在类定义之前当前具有#ifndef#define。这条线本身就是:

class TBin {

在文件之前没有其他任何内容,没有包含,没有注释,没有任何随机位。即使我删除了警卫并将声明直接移到文件顶部,我也会得到同样的错误。我认为这只有在前面的代码中存在问题时才会发生,但我没有前面的代码!想法?

3 个答案:

答案 0 :(得分:3)

你不能在C中使用“class”。试试C ++编译器。 ; - )

仅作比较,这是clang的输出:

% ~/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.

更具描述性,可能,但不是太多。

答案 1 :(得分:0)

看起来您的头文件中缺少TBin的定义。尝试找出在yor源代码树中定义TBin数据类型(或typdef或其他内容)的位置,并尝试将该头文件包含在您的问题头文件中。 提供整行引起的错误将非常有帮助。

答案 2 :(得分:0)

您正在尝试使用C编译器编译C ++代码。您是否有机会使用gcc?如果编译C ++代码,则需要g++