我對C++相當陌生,&在將向量聲明爲類變量時遇到問題。我已經通過使用類似的策略讓他們在我的代碼中的其他地方工作,但它不喜歡我的頭文件。'vector'不會命名一個類型
error: ‘vector’ does not name a type
error: ‘vector’ has not been declared
error: expected ‘,’ or ‘...’ before ‘<’ token
error: ‘vector’ does not name a type
我已經評論了GCC指出的問題。
#ifndef HEADER_H
#define HEADER_H
#include <cstdlib>
#include <vector>
#include <string>
using std::string;
// Class declarations
class Node {
int id;
string type;
public:
Node(int, string);
int get_id();
string get_type();
string print();
};
class Event {
string name, date, time;
public:
Event(string, string, string);
string get_name();
string get_date();
string get_time();
string print();
};
class Course {
char id;
std::vector<Node*> nodes[40]; // This one
public:
Course(char, std::vector<Node*>); // This one
char get_id();
std::vector<Node*> get_nodes(); // & this one.
string print();
};
class Entrant {
int id;
Course* course;
string name;
public:
Entrant(int, char, string);
int get_id();
Course* get_course();
string get_name();
string print();
};
// Function declarations
void menu_main();
void nodes_load();
void event_create();
void entrant_create();
void course_create();
#endif /* HEADER_H */
在我的IDE錯誤Here's a screenshot,如果提供任何更多的線索。
http://liveworkspace.org/code/40cuIA$1一切正常...只有一個關於未知類型的課程(前向聲明修復它)的錯誤。 – ForEveR 2013-03-11 10:39:21
你是否試圖單獨在乾淨的主要方法中包含這個頭文件?我最好的猜測是,這是由包裝器造成的,而不是包含器本身造成的。 – daramarak 2013-03-11 10:41:58
我試過把它包含在一個乾淨的主文件中 - 由Netbeans生成 - 我仍然得到相同的錯誤。 – gideonparanoid 2013-03-11 10:52:23