【发布时间】:2024-01-16 21:17:01
【问题描述】:
我有一个这样的文件:
#include <list>
#include "term.h"
class Term {
};
class Number : public Term {
private:
double m_number;
Term* m_exponent = nullptr;
public:
Number(double number) {
m_number = number;
}
Number(double number, Term* exponent) {
m_number = number;
m_exponent = exponent;
}
double getNumber() {
return m_number;
}
void setExponent(Term* exponent) {
m_exponent = exponent;
}
Term* getExponent() {
return m_exponent;
}
};
还有一个像这样的头文件 term.h:
#pragma once
class Term;
class Number;
现在在我的 main 函数中,如果我尝试声明一个 Number 类型的变量 (Number a(10.0)),我会收到以下错误:Incomplete Type is not allowed.
#include "term.h"
int main() {
Number a(10.0);
}
我不明白这是从哪里来的。任何帮助,将不胜感激。提前致谢! :)
【问题讨论】:
-
第 6 行缺少的分号是错字吗?
-
是的,打错了
-
您想将类定义放在头文件中,将类方法定义放在 .cpp 文件中。
-
对不起,我是 C++ 新手,所以这个问题可能听起来很愚蠢,但类定义是否意味着所有变量和函数原型?
-
为了避免提出可能的“愚蠢的问题”并节省时间阅读The Definitive C++ Book Guide and List的一本书。