2012-05-09 137 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();/*...*/) 
相关问题