正如问题所表明的,我正在使用模板,确切地说是一个模板类。有问题的代码位于模板类的公共成员函数中,是一个简单的exit(1);
命令。生成的错误消息为error: there are no arguments to ‘exit’ that depend on a template parameter, so a declaration of ‘exit’ must be available [-fpermissive]
。我只是在使用g++4.8.1编译后才得到这个错误,4.2.1没有产生这个错误。
您需要包括<stdlib.h>
或<cstdlib>
(并使用std::exit
)。它以前工作过,因为以前的编译器可能通过不同的头隐式地包含了该头。