gpt4 book ai didi

c++ - 使用类模板进行隐式转换

转载 作者:搜寻专家 更新时间:2023-10-31 01:37:05 25 4
gpt4 key购买 nike

<分区>

使用下一个定义

class A {};
class B : public A {};

void f(A* a) {}

调用 f(new B) 是可能的,因为 B* 被隐式转换为 A*,对吗?

但是,当对像 std::vector 这样的类模板做同样的事情时,这会产生编译错误。

void f(std::vector<A*> v)
{}

int main()
{
std::vector<B*> v;
f(v); //error! "no suitable user-defined conversion..."

return 0;
}

这是为什么?

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com