【发布时间】:2021-10-31 00:13:04
【问题描述】:
#include <iostream>
#include <string>
#include <fstream>
#include <vector>
using namespace std;
class Course{
public:
string name;
int pars[];
Course();
};
class Runs{
public:
Course course; <- Error
int scores[];
Runs();
};
我正在尝试使用这些类从格式错误的文件中读取行。为什么我不能在一个类中使用一个类?
【问题讨论】:
-
为什么你认为你不能?编译器会给你什么错误?提示:仔细检查你是如何定义你的数组的。
-
您询问了编译器发出的与实例化类相关的 last 错误消息。前面的错误信息是
int pars[];在类定义中无效,因此表示类Course的定义无效。您询问的错误消息是上述错误的结果。 C++ 中不允许使用没有维度的数组。随后的错误是main()中的int scores[]也无效。如果你想解决问题,你不能挑选错误消息。 -
int pars[];可能应该是vector<int> pars;。另外,int scores[];应该是vector<int> scores;。 -
应将错误消息(以文本形式)复制到问题中,以便将来遇到相同问题的读者有更好的机会找到问题及其答案。