Re: 問一個 C++ template 語法問題

看板C_and_CPP (C/C++)作者 (............￾ ￾NN￾)時間16年前 (2009/04/15 02:37), 編輯推噓2(202)
留言4則, 1人參與, 最新討論串2/2 (看更多)
#include <iostream> using namespace std; //template function 無法偏特化用template class template<class R , class Node> struct Action{ }; template< class Node > struct Action< int , Node > { Action(Node& node) { cout << "int" << endl; node.count++; } }; // abstract node struct abs_node { virtual void f () = 0 ; // semantic action } ; // 根據每個 parsing rule 繼承的 node template < class R > // struct node : abs_node { // 為了要處理node, int count; void f () { Action<R , node > act(*this); } // 要把node自己傳進去! } ; int main() { node<int> int_node; int_node.count = 0; int_node.f(); cout << int_node.count << endl; } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.194.173

04/15 03:25, , 1F
成功了 XD 沒想到可以還有把自己傳進去這招. XDD
04/15 03:25, 1F

04/15 03:26, , 2F
我本來是這樣 template < class DUMMY > g ( DUMMY n ) {}
04/15 03:26, 2F

04/15 03:26, , 3F
也會 work,但是寫起來爆醜 orz
04/15 03:26, 3F

04/15 03:28, , 4F
感恩 QQ 感動 ing
04/15 03:28, 4F
文章代碼(AID): #19vDViWd (C_and_CPP)
文章代碼(AID): #19vDViWd (C_and_CPP)