C++ 写一个分数类,我无法找出这些错误
我正在写一个fraction.cpp和fraction.h,它输入分数类型并对它们进行数学运算。我有一个奇怪的错误,上面写着“未定义的引用”,但据我所知,引用是定义的。还有一系列错误,比如“没有匹配的函数来调用分数::outputFormat(fracForm)”和“候选者是”等。以下是我的所有代码供参考: main.cppC++ 写一个分数类,我无法找出这些错误,c++,C++,我正在写一个fraction.cpp和fraction.h,它输入分数类型并对它们进行数学运算。我有一个奇怪的错误,上面写着“未定义的引用”,但据我所知,引用是定义的。还有一系列错误,比如“没有匹配的函数来调用分数::outputFormat(fracForm)”和“候选者是”等。以下是我的所有代码供参考: main.cpp 声明enum fracForm两次: enum fracForm {improper, mixed, decimal}; class fraction { enu
声明
enum fracForm
两次:
enum fracForm {improper, mixed, decimal};
class fraction {
enum fracForm {improper, mixed, decimal};
类fraction
中的函数现在使用enumfraction::fracForm
,外部的代码(因此在main.cpp
)使用fracForm
这两个enum
不相同,因此代码无法编译
要解决此问题,您可以使用“global
”方法,其中fracForm从fraction
类解析:
enum fracForm {improper, mixed, decimal};
class fraction {
//enum fracForm {improper, mixed, decimal};
有了这个解决方案,我想大多数错误都消失了
另一种解决方案是,将分形误差置于分数类范围内:
//enum fracForm {improper, mixed, decimal};
class fraction {
public:
enum fracForm {improper, mixed, decimal};
现在必须在类之外使用枚举,如:
fracForm type = fraction::improper;
声明
enum fracForm
两次:
enum fracForm {improper, mixed, decimal};
class fraction {
enum fracForm {improper, mixed, decimal};
类fraction
中的函数现在使用enumfraction::fracForm
,外部的代码(因此在main.cpp
)使用fracForm
这两个enum
不相同,因此代码无法编译
要解决此问题,您可以使用“global
”方法,其中fracForm从fraction
类解析:
enum fracForm {improper, mixed, decimal};
class fraction {
//enum fracForm {improper, mixed, decimal};
有了这个解决方案,我想大多数错误都消失了
另一种解决方案是,将分形误差置于分数类范围内:
//enum fracForm {improper, mixed, decimal};
class fraction {
public:
enum fracForm {improper, mixed, decimal};
现在必须在类之外使用枚举,如:
fracForm type = fraction::improper;
请提供完整的错误信息请尝试写,我的意思是minimal和maximalI没有发布错误信息。我不知道如何使它更简单。你真的希望我们通读所有这些代码吗?检测问题,隔离它,写一个最小的例子,说明哪里出了问题。如果你想让我们提供答案,那是你的职责。永远不要使用命名空间std头文件中的代码>。从未!请提供完整的错误信息请尝试写,我的意思是minimal和maximalI没有发布错误信息。我不知道如何使它更简单。你真的希望我们通读所有这些代码吗?检测问题,隔离它,写一个最小的例子,说明哪里出了问题。如果你想让我们提供答案,那是你的职责。永远不要使用命名空间std头文件中的代码>。从未!而且
fraction::fracForm
也是私有的。它需要公开。这取决于她想用哪种类型,是的。我应该指定,那么我应该删除哪一个?我最初在类之外声明了它。如果你创建了一个分数
名称空间,就把它留在类之外的名称空间中。如果你没有,把它放在课堂上,但要公开。这是我个人的观点,不是规则。@khaleesi0712如果fractform
主要用于类fraction
,我认为将其放在类中是有意义的,因为两者都是同时出现的。如果要在另一个类中使用fractform
(不使用fraction
),请使用全局解决方案,并且fraction::fractform
也是私有的。它需要公开。这取决于她想用哪种类型,是的。我应该指定,那么我应该删除哪一个?我最初在类之外声明了它。如果你创建了一个分数
名称空间,就把它留在类之外的名称空间中。如果你没有,把它放在课堂上,但要公开。这是我个人的观点,不是规则。@khaleesi0712如果fractform
主要用于类fraction
,我认为将其放在类中是有意义的,因为两者都是同时出现的。如果要在另一个类中使用fractform
(不使用fraction
),请使用全局解决方案