GCC问题:在模板中

时间:2010-03-16 11:24:11

标签: c++ gcc

我有ghat 4.1.1的redhat我编译为“gcc test.c”并给出以下错误

  

错误:预期'=',',',';' ,'ltsm'或'__ attribute__'在'<'之前令牌

“test.c”中的代码如下

template <typename T> class A {
public:
    T foo;
};

3 个答案:

答案 0 :(得分:6)

使用g++进行编译和/或将您的文件重命名为test.cpp

如果使用gcc test.c进行编译,那么您的文件将被假定为C文件。 C中没有模板。

答案 1 :(得分:2)

这是C ++代码,而不是C.您需要使用g++,即g++ test.c。另外,为避免混淆,您应将文件重命名为.cpp.cxx

答案 2 :(得分:2)

GCC Manual编译一个带有.c扩展名的文件将编译你的代码,好像它是C,而不是C ++。最简单的解决方案是使用g++编译代码。 g++命令将默认语言设置为C ++,并自动将代码链接到C ++标准库。您可以使用gcc执行这两项操作,但必须手动完成。你究竟是怎么做的就是练习。 : - )