[問題] bitset的template function(新問題 改錯)
程式碼大致如下:
template<typename T>
string calc(T a, T p){
string ans = "";
return ans;
}
int main(){
bitset<10> a("0011000100");
bitset<6> b("110101");
string str = calc(a, b);
}
但是執行後卻告訴我
no matching function for call to 'calc(std::bitset<10u>&, std::bitset<6u>&)'
最近才開始碰template
所以完全不清楚為什麼會告訴我no matching...
不知道是不是犯了什麼錯
麻煩各位前輩指點一下 謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.44.128.172
推
05/30 20:17, , 1F
05/30 20:17, 1F
推
05/30 20:18, , 2F
05/30 20:18, 2F
→
05/30 20:18, , 3F
05/30 20:18, 3F
推
05/30 20:44, , 4F
05/30 20:44, 4F
謝謝各位 原來會當作是不同的型別
這部分暫時應該是解決了
剩下一個問題
如果calc變成下面這個樣子
template<typename T, typename U>
string calc(T a, U p){
string ans = a.to_string();
return ans;
}
變成標紅色那行出問題
錯誤訊息也是差不多
no matching function for call to 'std::bitset<10u>::to_string()'
參考這篇MSDN(http://msdn.microsoft.com/en-us/library/1s2be1zd(VS.80).aspx)
改成如下的結果
string ans = a.to_string<char, char_traits<char>, allocator<char> >();
還是一樣的錯誤(雖然MSDN上的這個我也看不太懂= =)
那再請問這個的問題點在哪呢
※ 編輯: applerev 來自: 114.44.128.172 (05/30 21:06)
推
05/30 22:24, , 5F
05/30 22:24, 5F
→
05/30 22:24, , 6F
05/30 22:24, 6F
對不起 那是我手誤打錯orz
我是用codeblock + gcc 它不給我過
我附上他不給我過的程式碼好了 比較不會手誤
http://akatuki1987.hp.infoseek.co.jp/test.cpp
謝謝
※ 編輯: applerev 來自: 114.44.128.172 (05/30 22:36
※ 編輯: applerev 來自: 114.44.128.172 (05/30 22:38)
推
05/30 22:43, , 7F
05/30 22:43, 7F
→
05/30 22:47, , 8F
05/30 22:47, 8F
→
05/31 00:10, , 9F
05/31 00:10, 9F
推
05/31 00:32, , 10F
05/31 00:32, 10F
→
05/31 00:33, , 11F
05/31 00:33, 11F
推
02/04 00:42, , 12F
02/04 00:42, 12F
→
02/04 00:44, , 13F
02/04 00:44, 13F
→
02/04 00:44, , 14F
02/04 00:44, 14F
→
02/04 00:45, , 15F
02/04 00:45, 15F
→
02/04 00:45, , 16F
02/04 00:45, 16F
→
02/04 00:45, , 17F
02/04 00:45, 17F
→
02/04 00:45, , 18F
02/04 00:45, 18F