[問題] g++ 編譯 class樣板 報錯

作者: hunandy14 (Charlott.HonG)   2016-05-19 21:37:54
g++ 編譯 class樣板 報錯
請問一下是我的程式碼有問題嗎
還是g++無法編譯這樣的寫法呢
神奇的是VB可以編過
原始程式如 https://goo.gl/cf8MCQ
我想把他寫進.h檔,
要把函式寫在class外,
怎麼樣都編不過,
寫在class裡面是可以編過的
(有保留在程式裡面註解)
錯誤訊息是
Source.cpp:21:1: error: 'Demo<T1, T2>::Demo' names the constructor, not the type
Demo<T1, T2>::Demo<T1, T2>(const T1 &p, const T2 &n) {
^
Source.cpp:21:1: error: and 'Demo<T1, T2>' has no template constructors
[Finished in 0.2s with exit code 1]
解答可以參考我做的範例:https://goo.gl/vWtewy
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.35.139.127
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1463665077.A.88E.html
作者: kwpn (ITSST)   2016-05-19 22:21:00
宣告式改Demo(const T1 &p, const T2 &n);定義式改Demo<T1, T2>::Demo(const T1 &p, const T2 &n) {試試看
作者: bibo9901 (function(){})()   2016-05-19 23:43:00
沒有為什麼...syntax規定就是這樣XD是 void Demo<T1,T2>::set(....)@@ 你是指visual studio 嗎? 我編不過耶
作者: kwpn (ITSST)   2016-05-20 00:33:00
Visual Studio應該有warnning吧 它偷幫你改掉

Links booklink

Contact Us: admin [ a t ] ucptt.com