私はoperator-オーバーロードの問題を得たとき、私の割り当てを終えることを約あった、エラーがC++ operator-overloadを書いていますか? 「日::日」:
エラー1つのエラーC2661言う86 \ \ \ユーザー:なしオーバーロードされた関数を3つの引数cを取りますプロジェクト\ Visual Studioの2010 \ドキュメント\ assignmnent 3 840 \ assignmnent 3 840 \ date.cpp 137
2のIntelliSense:コンストラクタのインスタンス "日::日付は、" 引数リストのCと一致する:86の\ドキュメント\ \ユーザーを\ビジュアルスタジオ2010 \ projects \ assignmnent 3 840 \ assignmnent 3 840 \ date.cpp 137
とそのマーキング返される日付Date(mt、dy、yr);助けてください、私はすでに3時間この事を試しています。ここ
が.cpp
ファイル内のコード
////////////////////date.h
#include <iostream>
using namespace std;
class Date
{
private:
int day,month,year ;
public:
Date();
void setValues();
// int getValues() ;
Date operator=(const Date &);
//
Date(const Date &);
//
//friend Date operator+(Date a,Date b);
Date operator-(const Date &);
friend bool operator>(Date a, Date b);
friend bool operator==(Date a, Date b);
friend ostream &operator<<(ostream &out, Date a);
friend istream &operator>>(istream &in, Date &a);
//
};
/////////////////date.cpp
#include <iostream>
using namespace std;
class Date
{
private:
int day,month,year ;
public:
Date();
void setValues();
// int getValues() ;
Date operator=(const Date &);
//
Date(const Date &);
//
//friend Date operator+(Date a,Date b);
Date operator-(const Date &);
friend bool operator>(Date a, Date b);
friend bool operator==(Date a, Date b);
friend ostream &operator<<(ostream &out, Date a);
friend istream &operator>>(istream &in, Date &a);
//
};
////////driver.cpp
//test.cpp
#include "date.h"
#include <iostream>
using namespace std;
int main()
{
Date date1;
Date date2 = date1; //copy constructor called
cout << "Initial date values\n";
cout << "Date 1 is ";
cout << date1 << endl;
cout << "Date 2 is ";
cout << date2 << endl;
cout << "Enter a date no earlier than 1800\n";
cin >> date1;
cout << "Enter another date no earlier than 1800\n";
cin >> date2;
cout << "Revised date values\n";
cout << "Date 1 is ";
cout << date1 << endl;
cout << "Date 2 is ";
cout << date2 << endl;
if (date1 == date2)
cout << "The two input dates are the same\n";
else if (date1 > date2)
{
cout << "Date 1 is later in time than Date 2 by ";
Date temp = date1 - date2;
cout << temp << endl;
}
else
{
cout << "Date 2 is later in time than Date 1 by ";
Date temp = date2 - date1;
cout << temp << endl;
}
//Date date3, date4;
//date4 = date3 = date2; //overloaded assignment operator called
//cout << "After the assignment date4 = date3 = date2\n";
//cout << " Date 3 is " << date3 << " and Date 4 is " << date4 << endl;
return 0;
}
コールサイトを提供できますか?あなたが実際にオペレータを呼んでいるライン? – smichak