[問題] g++ 編譯 class樣板 報錯
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
推
05/19 22:21, , 1F
05/19 22:21, 1F
→
05/19 22:21, , 2F
05/19 22:21, 2F
→
05/19 22:21, , 3F
05/19 22:21, 3F
太神了,通過了,我翻超久的((淚
非常感謝您的協助
可以請問大致是怎麼一回事嗎
我會這麼做是因為教學講義上提到QQ
Demo<T1, T2>::Demo<T1, T2>(){}
不過他沒明講怎麼做剩下我就看著這行補了
※ 編輯: hunandy14 (114.35.139.127), 05/19/2016 22:58:02
※ 編輯: hunandy14 (114.35.139.127), 05/19/2016 23:01:12
→
05/19 23:43, , 4F
05/19 23:43, 4F
了解~感謝您
不過我又有又有問題了QQ
我照著這樣的做法把建構子兩個移出來了
可當我移動其他函式的時候卻沒有辦法按到原本方式
程式碼:https://gist.github.com/anonymous/5c5b16787f9e6be05f0b05b53dcc5cd9
你看main()的上方跟void set(const T1 &p, const T2 &n)
我想要把這個移出來,按照裡面留著的註解會報錯
Hw14_fun.cpp:75:14: error: expected unqualified-id before 'void'
Demo<T1,T2>::void set(const T1 &p, const T2 &n){
可以在救我一次嗎QQ
※ 編輯: hunandy14 (114.35.139.127), 05/19/2016 23:59:28
→
05/20 00:02, , 5F
05/20 00:02, 5F
※ 編輯: hunandy14 (114.35.139.127), 05/20/2016 00:03:38
阿對齁 "::" 是黏在名稱前面不是型態
卡這個問題想到壞掉惹QQ
太感謝你們了,過了 ((ありがとうございました
這樣VB怎麼過的了(VB可以編過),一個不小心不就養成壞習慣了
※ 編輯: hunandy14 (114.35.139.127), 05/20/2016 00:09:57
推
05/20 00:11, , 6F
05/20 00:11, 6F
ㄚㄚ是第一份程式碼 https://goo.gl/cf8MCQ 這個visual studio13 15都能過
※ 編輯: hunandy14 (114.35.139.127), 05/20/2016 00:24:50
https://imgur.com/XFa3BKL.jpg
※ 編輯: hunandy14 (114.35.139.127), 05/20/2016 00:28:04
推
05/20 00:33, , 7F
05/20 00:33, 7F
※ 編輯: hunandy14 (114.35.139.127), 06/02/2016 10:49:11