我在这里需要一些帮助,这样的类型不匹配怎么可能?
当我替换所有内容时,它是完全相同的类型,包括
常数。

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>

最佳答案

_Tpconst,在这种情况下_Tp是一个指针。因此,替换const _Tp实际上会导致Polygon3D *const而不是const Polygon3D *,从而导致不匹配。

关于c++ - C++中的奇怪类型不匹配,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9412280/

10-11 00:57