gpt4 book ai didi

c++ - 将非常量参数传递给常量参数

转载 作者:行者123 更新时间:2023-11-30 01:26:42 27 4
gpt4 key购买 nike

假设我有这样的功能

my_method(const vector<const T*> & param); 

不知道这样能不能调用函数

vector<T*> my_vector;
my_method(my_vector);

最佳答案

你不能做你想做的事。 std::vector<T*>std::vector<const T*> 的类型不同所以函数参数与函数参数不匹配。您要做的不是“将非常量参数传递给常量参数”,如果它将一种类型的参数传递给需要另一种类型参数的函数。“将非常量参数传递给常量参数”类似于

my_method(const vector<T*> & param);

vector<T*> v; // non const vector

my_method(v); // OK, method takes v by const reference, so it cannot be modify v.

而且,你可以做到。

注意,在上面的例子中my_method无法修改 vector v , 但自 v持有非常量指针,指向这些指针的对象可以被修改。

关于c++ - 将非常量参数传递给常量参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9839551/

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