2015-05-02 69 views
1
wxString P::getParentPath(const wxString &ss){ 
    wxString dst; 
    for(wxString::const_iterator it=ss.end();it!=ss.begin();it--) 
     if(*it=='\\'){ 
      std::copy(ss.begin(),ss.end()-it,dst.begin()); 
      break; 
     } 
    return s; 
} 


error: no matching function for call to 'copy(wxString::const_iterator, wxString::const_iterator::difference_type, wxString::iterator)'| 

我想將字符串的一部分複製到另一個字符串,我在嘗試時出現此錯誤。 感謝您的幫助。錯誤:沒有匹配函數調用'複製'

+0

's.end() - 它是一個數字而不是迭代器。你究竟在努力實現什麼? –

+0

獲取父目錄路徑 – Neet33

回答

1

如果您想複製從字符串開頭到最終\的所有內容,然後it正好指向您想要的位置,就在要複製的最後一個字符後面。

所以,你只需要

std::copy(ss.begin(), it, <something>); 

<something>不能dst.begin(),因爲dst是空的。您可以使用back_inserter(dst),但我認爲這不適用於wxString

我懷疑你最好使用wxString中的SubString函數。

相關問題