2012-01-07 14 views
1

私はこれを実行するたびにコンパイルエラーが発生しています...私はそれが私が見落としている愚かなものだと確信しています。データ型のC++エラー

#include <iostream> 
#include <string> 

using namespace std; 

class hi 
{ 
public: 
    string run() 
    { 
     hi = "Hello."; 
     return hi; 
    } 
private: 
    string hi; 
} 

int main() 
{ 
    bool end = false; 
    string in = ""; 
    string out = ""; 

    hi hi; 

    while(end != true) 
    { 
     cout << "Input a Command: "; 
     cin >> in; 
//  if(in == "help") 
//  { 
//   out = help.run; 
//  } 
     if(in == "hi") 
     { 
      out = hi.run; 
     } 

     cout << out; 
     in = ""; 
    } 
    return 0; 
} 

私はこれらのエラーを得続ける:

|6|error: new types may not be defined in a return type| 
|6|note: (perhaps a semicolon is missing after the definition of 'hi')| 
|18|error: two or more data types in declaration of 'main'| 
||=== Build finished: 2 errors, 0 warnings ===| 
+0

外部リンクを提供するのではなく、ご質問にコードを貼り付けてください。 StackExchangeの規制。 –

+0

Codereviewは作業コードのレビュー用です。コードを動作させるためのものではありません。 – sepp2k

+0

は、クラス定義(hi)の最後にセミコロンが必要です。メンバーがクラスと同じ名前を与えられたのはなぜですか? hi ::とは何ですか?データメンバーまたはコンストラクタ – CashCow

答えて

1

プログラムの終わり近くに、あなたが開いているよりも多くの中括弧を閉じています。あなたは右main()の定義の前に、閉じ中括弧の後にセミコロンでclass hiのあなたの定義を終了する必要があります。また

return 0;前に右 中括弧を削除する必要があります。

+0

ありがとう... 43行目と44行目の2つのエラーが取り除かれました。 – tehB3NJ1E

+0

答えを更新しました。 –

+0

ああ。私はそれを忘れたとは信じられません。ありがとう、トン! – tehB3NJ1E

1

クラス定義の後にセミコロンを忘れてしまった。