未包含自定义头文件

时间:2013-05-12 11:22:10

标签: c++ header

从事大学作业,我们需要写一个提供的main.cpp文件,给出一个translator.h和translator.cpp文件。如果我将它们组合成一个单独的.cpp文件,这段代码就会编译并运行,但是作为单独的文件,它看起来好像头文件没有被识别,并且编译器会加载

我尝试在头文件中使用命名空间std,我意识到我不应该使用命名空间std作为它的不良做法,但它无论如何也没有任何作用。

非常感谢。 这些是错误(一直以这种方式继续下去)

Translator.cpp:1:1: error: 'Translator' does not name a type
Translator::Translator(const char dictFileName[]) : dictionary(dictFileName)
^
Translator.cpp:5:6: error: 'Translator' has not been declared
void Translator::toElvish(char * outputline, const std::string inputline)
  ^
Translator.cpp:5:52: error: 'string' in namespace 'std' does not name a type
void Translator::toElvish(char * outputline, const std::string inputline)
                                                ^

代码已链接http://pastebin.com/Nwh7mh6D(我认为对于这样的帖子正文可能有点长。

再次感谢。

1 个答案:

答案 0 :(得分:2)

问题是您的translator.cpp没有#include "translator.h"。它还需要能够看到类定义和成员函数声明。编译器并不关心这两个文件是否恰好以相同的方式命名,因此不会自动将它们连接在一起。