很抱歉,如果问题本身似乎有点令人困惑,这是我的cpp文件的代码。
// main.cpp中
#include <iostream>
using namespace std;
#include "Fraction.h"
int unitTests(Fraction* f) {
cout << "Fraction Simplifier Tests" << endl;
cout << "=========================" << endl;
// fill in code for unit tests
int num, den;
Fraction::set(4,16);
cout << "Input: " << num << "/" << den << endl;
cout << "Output: " << num << "/" << den << endl;
}
int main() {
Fraction fraction;
bool passed;
passed = unitTests(&fraction);
if (passed)
cout << "Passed All Tests" << endl;
else
cout << "Failed Tests" << endl;
}
这是我的.h文件
class Fraction {
int n, d;
public:
void set(int n, int d);
void simplify();
void display() const;
int numerator() const;
int denominator() const;
};
我有另一个.cpp文件,我存储了我的成员函数的代码,但我没有任何问题所以我不会包含它。
基本上我得到的错误是我无法在没有对象的情况下从void Fraction :: set(int,int)调用成员函数。我不确定我会怎么做这个... 在我的混乱中,我已经将这一行改为Fraction :: fraction.set(4,16)。如果有人能够阐明如何在这里使用我的分数对象,那将非常感激。
答案 0 :(得分:3)
这只是你的“调用成员函数”语法错误;其余的代码和问题都是重点。
当你写道:
Fraction::set(4,16);
你的意思是:
f->set(4,16);
还有其他问题,例如int num, den
没有值,也没有做任何事情。