2012-05-09 125 views
-5

[complation錯誤]C++:無效的轉換,從'爲const char * const的「爲'字符*」

我一遍又一遍地得到這個compliation錯誤,不管我在相關線路改變!正如你所看到的,它會將我發送到stl_iterator.h文件。

我不知道問題可能是什麼。

任何想法?

+0

爲什麼你甚至使用'vector '? – Griwes

+8

你應該包含錯誤出現的代碼(作爲文本),以及涉及的元素的聲明。從圖像中嘗試閱讀很難。 –

+2

請僅複製粘貼,不需要屏幕截圖 – 111111

回答

7

punc_vecconst,所以您必須使用const_iterator

+4

+1但如果您擁有C++ 11,則可能需要考慮auto。 – 111111

+0

@ 111111:從截圖中我們可以看到galeck正在使用GCC 3.4.2,它不支持'auto'。 – Mankarse

+0

@Mankarse,那麼我們可能應該推薦一個編譯器更新3.4是OLD。 – 111111

4

似乎punc_vec聲明const,所以punc_vec.begin()返回一個const_iterator,而不是iterator。將該行更改爲:

for(std::vector<char>::const_iterator i_vec=(punc_vec).begin();/*...*/) 
相關問題