【发布时间】:2010-10-13 09:36:02
【问题描述】:
首先,如果还有其他类似的问题但我没有找到,我想道歉。我一直在尝试,但由于问题非常具体,我找不到。
现在,问题来了。我有一个基类和一个派生类(比如 BNode 和 DNode ),并且我有一个 BNode* 的 std::vector。我还有一个函数,它接收对这些指针向量的引用。尝试将指向派生对象的指针的 std::vector 作为参数传递给此函数时遇到问题:
class BNode
{
};
class DNode : public BNode
{
};
class Other
{
function(std::vector<BNode*>& inputVector) { }
}
当尝试将指针向量传递给派生类时,我从 VS 收到的错误是:
1> error C2664: 'Other::function' : cannot convert parameter 1 'std::vector<T>' to 'std::vector<T> &'
1> with
1> [
1> T=DNode *
1> ]
1> and
1> [
1> T=BNode *
1> ]
先谢谢了。
【问题讨论】:
-
对不起,我忘记了 ' : public BNode' ...
-
bytes.com/topic/c/answers/… - 请参阅 Andrew Koenig 和 Alf P. Steinbach 说明为什么在 C++ 中不允许这样做
-
您现在有什么问题?您想了解原因还是正在寻找解决方案?
标签: c++