2017-11-11 5 views
0

私はC++プログラミング言語を学んでいます。このコードで何が問題になっていますか(Basic C++ Code)

#include <iostream> 
#include <string> 

using std::cout; 
using std::endl; 

class print() 
{ 
    public: 
     print(string name) 
     { 
      setName(name); 
     } 
     void setName(string name) 
     { 
      output = name; 
     } 
     string getName() 
     { 
      return output; 
     } 
    private: 
     string output; 
}; 

int main() 
{ 
    print print1("Hello"); 
    print print2("World"); 

    cout << "Output1 is " << print1.getName() << "Output2 is " << print2.getName() << endl; 
    return 0; 
} 

それは正常に見えるが、私は、このエラーメッセージを取得:

|| ===ビルドを私はクラスが含まれており、このようなユーザーへの出力に「Hello World」を示していたファイルを作ってきましたファイル: "no project"(コンパイラ:不明)の "no target" === |

だから、これは何を意味し、コード内の任意の間違いはありますか?

+0

どのコンパイラを使用していますか? 'std :: string;を使用していません。 – SurvivalMachine

+0

プログラムの最後にU + FEFFがあります。それは例えば私のコンパイラを動かします。おそらくあなたがそれを削除すると、より良いエラー診断を得るでしょう。 – Rakete1111

+0

'using'を避けてください。あなたのコードではコードが不明瞭になってしまいます。 'string'の代わりに' std :: string'を書くと、コードをもっと読みやすくなります。 –

答えて

1
class print() // <-- class declaration doesn't take parentheses 

print(string name) // <-- you have to use std::string 
1

はい、既に他の人が指摘しているように、コードにはいくつかの誤りがあります(ここでは繰り返さない)。しかし、それは大きな問題ではない、あなたもこれまでのところ、これらのエラーが表示することを得ることはありませんようだ:

||=== Build file: "no target" in "no project" (compiler: unknown) ===| 

は、ビルド環境で、本当に間違って何かがあることを教えてくれているようだと、あなたがコンパイルされません/まったくビルドしないでください。あなたはプロジェクト/ makefileを適切にセットアップしていないようです。コンパイラ、リンカ、プログラムをビルドするために必要なmakefileやプロジェクトを理解してください。

QDevelop、Eclipse、KDevelopなどのIDE(統合開発環境)を使用している場合は、IDEの「プロジェクト設定」(または同様の)ダイアログでIDEに何をするかを伝える必要があります。私は正しくツールを使用してファイルを作成する方法の簡単なHOWTO /例/チュートリアルを検索したい

は、(任意のコンパイラとIDE Googleでのヘルプがたくさんあります)。一番簡単なのは、既に設定されているプロジェクトを見つけたら、あなたが合法的にあなたの目的に合わせて変更できることです。

これを実行してコンパイルすると、コードのエラーに関する詳細なエラーメッセージが表示され、簡単に修正できます。

0

ファースト:クラス宣言には括弧を取ることはありません、それは

class print 
{ 
    //class code 
}; 

次のようになります。代わりにそれusing namespace std;作るusing std::複数使用するのが、あなたはそれが複数のあなたの時間とラインを食べるような場合には、using std::string;

セカンドを追加します3番目: || ===ビルドファイル: "no project"(コンパイラ:不明)の "no target" === |

は、g ++インテル、または他のどのコンパイラを使用していても、コンパイラを再インストールする場合に問題があることを意味します。

4番目の注意点:通常の/*your writing*/コードエラーに焦点を当てるだけでなく、ここで発生したような宣言になる可能性があります。

関連する問題