0

在完成一项大学作业时,我们需要围绕提供的 main.cpp 文件进行编写,并给出一个 translate.h 和 translate.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(我认为像这样的帖子的正文可能有点长。

再次感谢。

4

1 回答 1

2

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

于 2013-05-12T11:24:22.163 回答