2013-03-13 532 views
0

只想問簡單的問題給你的職業! 我實現模板類,如下面的代碼:我可以使用類模板返回類型的函數嗎?

template <typename T> 
class Matrix { ... }; 

,我試圖使用具有返回類型爲類模板功能。

Matrix<double> get_some_matrix(int param1,int param2) {...}; 

不幸的是,編譯器生成如下錯誤消息:Error C2143:missing';' '<'

任何人都可以告訴我或猜測是什麼問題?

我真的很感謝你的幫助,非常感謝你!

+0

在您的'get_some_matrix'函數之前發佈代碼。在'Matrix'定義之後,你可能會錯過';'。 – 2013-03-13 15:25:19

+0

如果這是緊接在函數之前的定義,那麼你需要用'};'而不是'}來完成。 – WhozCraig 2013-03-13 15:26:56

+0

你剛剛在那個函數定義之前有什麼? – aschepler 2013-03-14 03:43:47

回答

5
template <typename T> 
class Matrix { ... } //missing ; at end of class declaration. 

應該是:

template <typename T> 
class Matrix { ... }; // note ; 
+0

對不起。我已經把;到課堂的宣言,但我在帖子中想念它。 – gmkim90 2013-03-14 03:33:12

+0

我認爲錯誤的根源不在於;在課堂結束時宣佈。你認爲其他什麼是錯誤的根源嗎? – gmkim90 2013-03-14 03:34:10

1

如果這是你的確切聲明,你缺少類聲明的右括號後的分號。

+0

謝謝!但正如我在上面的回答中所評論的那樣,你認爲還有什麼其他的錯誤來源? – gmkim90 2013-03-14 03:35:06

+0

不是在您發佈的代碼中,但我想有很多您沒有發佈的代碼。也許你可以完成你的開始帖子。 – nvoigt 2013-03-14 05:47:50

相關問題