C++不允許使用不完整的類型

在C++中定義一個類,同時在類中定義此類的對象作爲類的組成部分。這個情況確實需要,然後你會發現編譯器提示“不允許使用不完整的類型”錯誤提示。
不過爲了探究此錯誤底下的更多的信息,讓初學者更明白爲什麼錯了,對於學習更有好處。知道爲什麼錯了,就不會再無意中犯錯。當你深入瞭解了之後,會讓你的思想產生震撼。因爲錯誤的背後,包含了一個思想的碰撞。只是你的理解和人家設計的不一樣,當你完全知道人家設計的思想,你也就知道爲什麼會犯錯,爲什麼語法要這樣。

不多說,開始進入正題。C++中類定義時不允許使用不完整的類型會在下面的代碼中出現:

class A

{

int i;

float b;

A aa;//定義類對象

double c;

}

在這個簡單A類聲明中,卻又不平凡的味道,因爲,報錯啦!這是硝煙的味道。爲什麼有硝煙,那是因爲思維開始發生碰撞。你從你的直覺思維裏,看不出這個代碼有什麼問題,然而編譯器就始終提示“不允許使用不完整的類型”。你一定會再三檢查,還檢查不出問題,然後開始懷疑VS是不是有Bug。你可能會創建一個新的項目測試,會發現沒有問題。如果一直都找不到答案,你會比較苦惱,甚至開始懷疑人生!天啊,我連類定義都搞不好,還能學會編程嗎?然後留下心理陰影。有些人因爲一些問題,就放棄了編程。編程是需要內心非常強大的人的。如果你還是程序員,或者你要成爲程序員,那都是很讓人佩服的事情。

就我而言,再沒有搞清楚這個問題之前,也是苦惱不已,只是暫時放下了,然後繼續學習。然後在不斷地學習過程中,慢慢頓悟了。那是因爲各種知識點蘊含的思想在腦子裏碰撞,讓你的腦子思考的越多,然後慢慢就能夠將學到的東西前後聯繫起來,能夠聯想對比觸類旁通了。這就是所謂的找到了編程的感覺。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章