看板 C_and_CPP 關於我們 聯絡資訊
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) msvc 11 visual studio 2012 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) stlport 問題(Question): 我用 stlport::sort 對 std::vector 做操作時編譯不過 stl/_algobase.h(315): error C2665: 'stlpx_std::priv::__copy_backward' : 沒有任何 2 多載可以轉換所有引數型別 預期的正確結果(Expected Output): 編譯過 錯誤結果(Wrong Output): 編不過 程式碼(Code):(請善用置底文網頁, 記得排版) http://ideone.com/DN8Mtf 補充說明(Supplement): 完整錯誤訊息: http://ideone.com/9WE5qe 想知道怎麼解決這個問題, 本來想自己改, 但發現傳入的參數就已經是 template 了, 應該會直接 抓到型別 才對? -- 標題 [情報] Nowitzki:等我轉身,球已在空中 VirgilDu :MWP : 等我轉身 發現哈登已倒在地上 12/08 16:07 推 vcooter :樓上XD 12/08 16:10 推 Skycrane :樓樓上XD 12/08 16:13 推 jw0311 :樓樓樓上XD 12/08 16:15 推 z581105 :樓樓樓樓上 XD 12/08 16:22 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.118.175.37
LPH66:STLPort FAQ 2.3 建議不要混用兩個以上的 STL 實作 02/06 16:50
LPH66:主要理由是內部結構不盡相同, 要搞定是非常麻煩的事 02/06 16:51
LPH66:既然你都用了 STLport 那就不要用 vc 的 STL 了 02/06 16:51
azureblaze:可是理論上sort不是只要符合iterator的需求就能用嗎? 02/06 16:57
azureblaze:如果他靠內部結構,這不是代表自製container就不能用了? 02/06 16:58
Feis:應該不是不行. 只是像你一般自製容器的 iterator 要繼承 02/06 17:41
Feis:stl::iterator 之類的, 至少會有 namespace 問題. 02/06 17:41
Feis:繼承 stl::iterator 的就只能在 stl 內用. 02/06 17:41
Feis:不過我對 stlport 不熟, 只是猜的. 02/06 17:44
加入新的 template 方法 問題是 無法將參數 4 從 'std::random_access_iterator_tag' 轉換成 'const stlpx_std::random_access_iterator_tag &' 原來是 iterator tag 抓錯了~ 加入新的 template 解決: http://ideone.com/3k4qW4 ※ 編輯: damody 來自: 140.118.175.37 (02/08 17:24)
Feis:不建議你這樣解決. 02/08 20:03
Feis:問題還是 namespace 的對應 02/08 20:04
Feis:如果是 Forward iterator 就會爆炸? 02/08 20:06
damody:不會吧 功能最少的就是 forward iterator 02/09 16:22
Feis:不是功能少不少的問題. 是之後不小心用到會爆炸 02/09 16:36
Feis:應該還是正面表列 stl 的 iterator_tag 比較好 02/09 16:38
Feis:你這樣設計失去了 iteartor_tag 的用意 02/09 16:42