的.cpp的初始化它说:“没有匹配的构造函数‘分数’
//
// calculator.cpp
//
#include "Fraction.h"
#include<iostream>
#include<stdexcept>
using namespace std;
int main()
{
Fraction x,y; //ERROR IS RIGHT HERE. It says "No matching constructor for initialization of 'Fraction'
char op;
try
{
cin >> x;
cin >> op;
while (cin && (op == '+' || op == '-'))
{
cin >> y;
if (op == '+')
x = x + y;
else
x = x - y;
cin >> op;
}
cout << x << endl;
}
catch (invalid_argument& e)
{
cout << "Error: " << e.what() << endl;
}
}
.H
#ifndef Fraction_Calculator_Fraction_h
#define Fraction_Calculator_Fraction_h
#include<iostream>
#include<cstdlib>
//Fraction class definition
class Fraction
{
public:
Fraction (int a, int b);
int fraction(int a, int b);
void set(int, int);
int get_numerator(void);
int get_denomenator(void);
int find_gcd (int n1, int n2);
void reduce_fraction(int nump, int denomp);
Fraction& operator+(const Fraction& n);
Fraction& operator-(const Fraction& n);
friend std::ostream& operator<<(std::ostream &os, const Fraction& n);
friend std::istream& operator>>(std::istream &is, Fraction& n);
Fraction& operator= (const Fraction& n);
int denom;
int numera;
private:
int numerator;
int denomenator;
int denomp;
int nump;
};
#endif
它说:”没有匹配的构造函数的‘分数’初始化上的第一行cpp文件 我不明白这是什么意思。
在这种情况下,我们需要知道'Fraction.h'的内容,否则无法回答这个问题。 – hcs 2014-10-28 07:03:32
在下次询问之前,请仔细阅读[这里](http://stackoverflow.com/help/asking)的信息。 – 2014-10-28 07:55:01