これを行うと、コンパイラが文句を言います。エラー メッセージは表示されませんが、次の 3 つのエラーが表示されます。
#include <stdlib.h>
#include <vector>
#include <string>
#include "ParseException.h"
#include "CycleFoundException.h"
#include "UnknownTargetException.h"
using namespace std;
class Maker
{
private:
vector<Node> storage;
public:
Maker(string file) throw (ParseException, CycleFoundException, UnknownTargetException);
vector<string> makeTarget(string targetName);
};
struct Node
{
string target;
vector<string> dependencies;
string command;
int discoverytime;
int finishtime;
int visited;
Node* next;
};
vector<Node> storage
コンパイラは私の宣言を好みません。代わりに行うと、問題vector<int> storage
なくコンパイルされます。あるクラスのオブジェクトを別のクラスで宣言するのは間違っていますか? これでいいと思いました。