C 使用了未定義型別

2021-05-14 09:58:42 字數 965 閱讀 8774

1樓:營專盍周

你可以把a,b類分為兩個檔案來定義,然後分別用include包含需要的類標頭檔案。不過,不建議你使用交叉定義的方式來定義類,可以使用一個通用類或者定義一個父類來解決這個問題。

2樓:

你把成員函式void display(date &d)的定義放在date類之後就行。

前向宣告只是為了在定義之前宣告之後的作用域中使用它來宣告它的物件或指標,但不能訪問它的物件的成員。

3樓:匿名使用者

這樣提前宣告是沒用的。 編譯time的時候date類的結構還不知道, 這時候你就算提前宣告也只能用date類的指標, 而不能有date型變數。 否則編譯器沒法處理這個變數成員的位移之類的東西所以也就沒法編譯

所以如果你要在time裡用到date, 你就得把date寫到前頭去。 或者你在time裡引數就寫 date* 。當然這樣也不可以把實現寫在date前頭了, 否則d.

month之類的表示式還是處理不了

4樓:

提前宣告不是這麼用的。

對於這個問題建議將date類的定義放在time類前。

另外還有個問題。你的友元定義也是有問題的。

將time類宣告為友元的正確做法應該是:friend class time;

c++中main函式呼叫其他cpp檔案的類的問題,總提示未定義的引用

5樓:山水阿銳

makefile檔案裡,有沒有加入message.cpp或者直接用g++:

g++ -o client client.cpp folder.cpp message.cpp

message.h包含了folder.h, 而folder.h又包含了message.h

你在folder.h中宣告瞭class message; 用的又是指標還專包含它幹什麼了,刪了屬它。

泰和安消防主機未定義通訊故障怎麼處理

迴路中有裝置無反饋則報通訊故障 泰和安消防主機未定義通訊故障怎麼處理?未定義的話應該會報裝置的迴路地址號吧。然後對著圖紙找看看有沒有這個號,然後把程式編上。如果圖紙上沒有這個號,海灣的我不是很瞭解,不知道能不能模擬火警或者點燈,能的話模擬之後去現場找。消防設施 firefighting device...

js一直提示函式未定義,js 為什麼提示函式未定義

跟有沒有封號沒關係,先在控制檯呼叫check 試一下會不會被呼叫。如果沒有說明check函式不是個全域性函式,就得檢查一下check是在 定義的。把check 後面的 去掉試一下,如 onclick check 加返回值return.true js 為什麼提示函式未定義 是作用域的問bai題。因為你...

vb程式設計中「子程式或函式未定義」,求教子程式或函式該如何定義

private sub command1 click dim l m n o x y a b c d i j n 7 m 14 l 14 o 21 for i 1 to 6 n n 1 a controls text n text7for j 1 to 6 m m 1 b controls text...