Re: [問題] C++中class的define問題
看板C_and_CPP (C/C++)作者littleshan (我要加入劍道社!)時間16年前 (2009/05/13 13:39)推噓2(2推 0噓 0→)留言2則, 2人參與討論串2/2 (看更多)
※ 引述《hanks78 (ㄏㄏ)》之銘言:
: inline explicit stack::stack (int n=7) : .........省略... {};
: inline void stack::push(const stack::value_type & putin ){
: :
: :
: }
: 大致上是這樣
: 結果VC2008 一直跟我說
: '{ctor}' : 成員函式在 'stack' 中未宣告 =====>指的是stack(int)這行
: 以及
: 使用類別 樣板 必須有 樣板 引數清單 =====>指的是stack::push這行
: 可是我第一個有宣告在裡面阿@@
: 而且第二個push的涵式 也有給參數和樣板型態= =""
: 真的不懂哪裡有問題@@
: 請各位幫我解惑一下
: 謝謝╭(─╴╴─)╮
stack 是 class template 而不是 class
當你把 class template 的成員寫在 class 外部時
也要提供 template 參數
因為它們並不是一般的 class member,而是 class template member
具體一點地說就是像這樣:
template <typename T> inline stack<T>::stack(int n)
{
...
}
template <typename T>
inline void stack<T>::push(const stack<T>::value_type& putin)
{
...
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 219.87.151.2
推
05/13 14:58, , 1F
05/13 14:58, 1F
推
05/13 22:24, , 2F
05/13 22:24, 2F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章