我在这里需要一些帮助,这样的类型不匹配怎么可能?
当我替换所有内容时,它是完全相同的类型,包括
常数。
cgVertex3D.cpp:33: error: no matching function for call to
std::vector<Polygon3D*, std::allocator<Polygon3D*> >::push_back(const Polygon3D*&)
/usr/include/c++/4.4/bits/stl_vector.h:733:
note: candidates are:
void std::vector<_Tp, _Alloc>::push_back(const _Tp&)
[with _Tp = Polygon3D*, _Alloc = std::allocator<Polygon3D*>]
<near match>
最佳答案
_Tp
是const
,在这种情况下_Tp
是一个指针。因此,替换const _Tp
实际上会导致Polygon3D *const
而不是const Polygon3D *
,从而导致不匹配。
关于c++ - C++中的奇怪类型不匹配,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9412280/