c++ - 无法转换参数

标签 c++

我有这个在 VC++ 6.0 中编译得很好

typedef std::vector<ILBCOM_FieldStruct*> FieldsVector;
FieldsVector m_coll;
FieldsVector::iterator it(&m_coll[Index-1]);
m_coll.erase(it);

我需要在 Visual Studio C++ 2010 中编译

错误信息在第三行:

error C2664: 'std::_Vector_iterator<_Myvec>::_Vector_iterator(const std::_Vector_iterator<_Myvec> &)' : cannot convert parameter 1 from 'ILBCOM_FieldStruct **' to 'const std::_Vector_iterator<_Myvec> &'

你有没有看错?

最佳答案

std::vector<T>::iterator没有从 T* 转换的构造函数.它确实有一个复制构造函数:

FieldsVector::iterator it(m_coll.begin()+Index-1);

关于c++ - 无法转换参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10388811/

相关文章:

c++ - std::queue::size() 在 pop() of size() == 0 之后可以返回一个巨大的数字

c++ - strtok 如何处理换行符?

c++ - 无法理解我的程序的输出

c++ - 将 QDir 分解为 QStringList 的最佳方法是什么

c++ - 实现 ENUM DNS 查找的库?

c++ - 在 C++ 中,如何迭代地访问几个名称仅因数字不同而不同的变量?

c++ - 第一个参数没有从 'const value_type' 到 'const void *' 的已知转换

c++ - 将 mpz_class 临时转换为 int

c++ - 如何使用 C++ 通过 WebBrowser 控件以编程方式更改打印机设置?

c++ - 帮助!错误 C2040 : 'HWINEVENTHOOK' : 'DWORD' differs in levels of indirection from 'HWINEVENTHOOK__ *'