0

大学の課題に取り組んでいると、提供された main.cpp ファイルに沿って、translator.h と translator.cpp ファイルを作成する必要があります。このコードは、すべてを 1 つの .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"です。また、クラス定義とメンバー関数宣言を表示できる必要があります。コンパイラは、2 つのファイルの名前がたまたま同じであることを気にしないため、それらを自動的に結合しません。

于 2013-05-12T11:24:22.163 に答える