我正在尝试构建一个由3个vc项目文件组成的c ++解决方案。在哪里使用我自己的stl库和标准的stl集合[lists,vectors .. etc]前缀为正确的命名空间。
用于一个特定变量[用户定义类型的向量]。 这是一些用户定义结构的元素,它给出了一个错误:
error C2039: '_Mycont' : is not a member of 'std::_Vector_const_iterator<_Ty,_Alloc>' C:\Program Files\Microsoft Visual Studio 8\VC\include\vector 195
error C2039: '_Mycont' : is not a member of 'std::_Vector_const_iterator<_Ty,_Alloc>' C:\Program Files\Microsoft Visual Studio 8\VC\include\vector 195
error C2039: '_Mycont' : is not a member of 'std::_Vector_const_iterator<_Ty,_Alloc>' C:\Program Files\Microsoft Visual Studio 8\VC\include\vector 195
,那行代码是
std::vector<ACand> Cands;
对于上述变量我尝试执行插入和删除等最小操作。
它在调试模式下正常工作。 在发布模式下无法做同样的事情。
任何人都可以帮我解决错误。
由于 拉达
答案 0 :(得分:1)
你永远不应该尝试创建自己的stl容器。编译器实现提供的方法比您可能实现的方法更好。 但是如果你仍然想要这样做,请在它们前面添加适当的命名空间(比如mystd或其他东西)。我的猜测是,在某种程度上发布时,你的程序试图使用std :: vector而不是mystd :: vector,所以它抱怨因为std :: vector不包含任何_Mycont成员。