作者fireslayer (fireslayer)
看板C_and_CPP
標題[問題] class裡宣告另一個class
時間Fri Aug 19 12:18:51 2011
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
Visual c++ 2010
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
none
問題(Question):
無法編譯通過
錯誤結果(Wrong Output):
cteacher.h(11): error C2143: 語法錯誤 : 遺漏 ';' (在 '*' 之前)
cteacher.h(11): error C4430: 遺漏型別規範 - 假設為 int。注意: C++ 不支援 default-int
cteacher.h(11): error C4430: 遺漏型別規範 - 假設為 int。注意: C++ 不支援 default-int
cteacher.h(14): error C2061: 語法錯誤 : 識別項 'CStudent'
另外一個也一樣
程式碼(Code):(請善用置底文網頁, 記得排版)
//CTeather.h
#ifndef CTEACHER_H
#define CTEACHER_H
#include "CStudent.h"
#include <string>
using namespace std;
class CTeacher
{
private:
string name;
bool* subject;
CStudent** student;
public:
CTeacher();
CTeacher(string,bool*,CStudent**);
};
#endif
//CStudent.h
#ifndef CSTUDENT_H
#define CSTUDENT_H
#include <string>
#include "CTeacher.h"
using namespace std;
class CStudent
{
private:
string name;
bool* subject;
CTeacher** teacher;
public:
CStudent();
CStudent(string,bool*,CTeacher**);
};
#endif
補充說明(Supplement):
以前這樣做都沒有問題說@@
函數實做的部分在CTeacher.cpp和CStudent.cpp裡
先謝謝版眾了=Д=
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.252.77
→ suhorng:在#include "CStudent.h"前加個 class CTeacher; 試試 ? 08/19 12:23
→ fireslayer:哦哦過了 謝謝>< 08/19 12:25
→ Zephyr750:看不出和標題有什麼關聯耶!@@ 08/19 14:47
→ loveme00835:1樓救了這篇 08/19 14:49
→ johnhmj:類別交叉使用?怎麼不用繼承?用CPerson當師生的父類別。 08/19 15:45
→ fireslayer:對齁 謝謝樓上大大的建議 08/19 16:34