首页 > 解决方案 > 为什么我不能立即为带有 (string::Iterator& it) 参数的函数传递 string.begin() ?

问题描述

我试图传递str.begin()迭代器以调用带(string::Iterator& it)参数的函数。

当我尝试func(str.begin())时,它没有用。
另一方面,当我尝试对迭代器进行预声明时,它工作得很好。

它就像

string::iterator it = str.begin();
func(it);

在我看来,我认为这些方式之间没有区别。谁能告诉我为什么第一个不起作用?

标签: c++referenceiteratorarguments

解决方案


推荐阅读