2016-04-20 32 views
0

我無法從其模板中創建超類的子類中聲明構造函數。構造函數錯誤:預期'{'在輸入末尾

的示例代碼如下所示:

當我編譯,我得到一個錯誤:

In constructor ‘bar::bar()’: 
expected ‘{’ at end of input 

我是有點損失這裏。

回答

4

成員初始化列表只能與構造函數定義一起使用。所以你需要將它定義爲

bar() : foo_double() {} 

而且基類默認是默認構造的,所以你根本不需要這樣做。只是

bar() {} 
+1

如果您在單獨的源文件中添加構造函數定義,則不是拼寫錯誤。 –

+1

@wka是的,它仍然是一個錯字。如果你只是聲明構造函數,那麼你會有'bar();' – NathanOliver

1
bar() : foo_double(); 

不是構造函數。

bar() : foo_double() { } 

是。

+0

是。我們不應該回答關於在StackOverflow上沒有發現的答案的常見錯誤的書面問題。非常愚蠢的是我不敢把我的鼻子貼上來,並近距離投票。 – QuestionC

1

你忘了花括號{ }

bar() : foo_double() { } 
       //  ^^^ 
相關問題