0

私は非常に珍しい問題を抱えています:

クラスで関数の複数の定義を取得し続けています。

これは私のメインの.cppです

#include <iostream>
#include "Calculation.cpp"

using namespace std;

int main()
{
    cout << "Hello world!" << endl;
    return 0;
}

これは私のクラスです.h

#ifndef CALCULATION_H_INCLUDED
#define CALCULATION_H_INCLUDED

class Calculation
{
  public:
  Calculation();
  private:

};
#endif // CALCULATION_H_INCLUDED

これは私の実装ファイル .cpp です

#include "Calculation.h"

Calculation::Calculation()
{

}

私を助けてください; 新しいプロジェクトを作成しようとしましたが、役に立ちませんでした。

すべての助けに感謝します。

4

2 に答える 2

5

main.cpp を次のようにします。

#include <iostream>
#include "Calculation.h"  // not Calculation.cpp

using namespace std;

int main()
{
    cout << "Hello world!" << endl;
    return 0;
}
于 2013-09-20T07:20:28.867 に答える
0

Calculation.h を main.cpp に含める必要があり、次のようにコンパイルする必要があります。

  g++ main.cpp Calculate.cpp -o main -I<path for your .h file>

main.cpp

  #include<iostream>
  #include "Calculation.h"
  //using namespace std; // Avoid this, always to use std::cout .. etc on place

  int main()
  {
      Calculation c; //Creating the object of Calculation class
      std::cout<<"Hello World!"<<std::endl;
      return 0;
  }
于 2013-09-20T07:50:14.293 に答える