2012-10-18 82 views
-1

我有一個關於指向class的指針的問題。我的意思是在提供類中,我想創建一個指針Course * sample,順便說一下,當然也是另一個需要一個int參數的類,通過sample=new Course;採取從內存空間,但我得到了它說的錯誤:C++指向一個類的指針

Offering.cpp:12:19: error: no matching function for call to ‘Course::Course()’ 
Offering.cpp:12:19: note: candidates are: 
lib.h:63:5: note: Course::Course(int) 
lib.h:63:5: note: candidate expects 1 argument, 0 provided 

是否有任何人誰知道我錯了?不管怎麼說,還是要謝謝你。

+1

沒有代碼就無法提供幫助。但是,您是否閱讀過錯誤消息以及它想告訴您什麼?修復很簡單 – tpg2114

回答

0

Course *sample = new Course(11);

如果當然需要一個int作爲構造函數的參數,你必須通過它,甚至當上堆分配。

+0

當我這樣做時,我得到了同樣的錯誤。 – stackunderflow

+0

你可以發佈你的構造函數代碼和主? – tomahh

0

定義Course的默認構造函數。如果你不能,或者不應該,你將不得不使用現有的。

Course * sample = new Course(1337); 
0

你需要做的:

Course *sample = new Course(10); 

這是因爲你明顯地定義了課程一個構造函數,定義爲:

Course(int); 

默認構造函數(場())將當你定義一個自定義的時候不會自動添加。