为什么不能将项目添加到我的向量中?

彼得斯堡

我在一课上有以下代码:

    class A
    {
        std::vector<Parameter*> params;
        std::vector<Parameter*> getParamVector() {return params;}
        void addOneParam(Parameter* param)
        {
            params.push_back(param);
        }
    }

在另一个类B类中,我尝试通过执行以下操作将项目添加到params矢量中:

classA_Ptr->getParamVector().push_back(aParamPtr);

但是在上述调用之后,参数向量的大小仍为0。

我必须添加上述addOneParams(Parameter* param)方法将项目添加到params矢量中。为什么?

巴里

getParamVector()返回复制params因此,当您使用push_back它时,您将添加一个立即vector删除的临时文件。这绝不会影响params的大小。

如果你希望能够通过这样做getParamVector(),你必须返回一个参考params代替:

std::vector<Parameter*>& getParamVector() {return params;}
                      ^^^

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么不能将newtonsoft.Json.dll ref添加到我的项目中?

为什么我不能将JPanel添加到JPanel?

为什么我不能将元素添加到数组?

为什么我不能将0添加到CComSafeArray?

为什么我不能将&&添加到Ret(Args ...)&?

为什么我不能将 int 类型值添加到数组中

为什么我不能在golang中将主库添加到我的库中?

为什么我不能将字符串和布尔值添加到我的 arrayList (Java/Android Studio)

为什么不能将Kubernetes支持添加到.NET Core Console项目?

MySQL-为什么我不能将外键添加到指向一列的多列中?

为什么我不能将其他类的常量添加到 java 中的 switch 语句中?

为什么我不能将字符添加到新字符串?

为什么我不能将 (String -> JsBoolean) 添加到 Map[String, JsValue]?

为什么我不能将对象添加到plist

为什么我不能将 CustomType ArrayList 添加到 Object ArrayLists 的 ArrayList?

XAML:为什么不能将T的子类添加到T的集合中?

为什么不能将A的实例添加到声明为Set <的集合中?延伸A>?

为什么不能将 Django 模型对象添加到列表中?

我怎么知道为什么要将某个Jar添加到我的项目中?

为什么 Newtonsoft.Json.JsonConvert.SerializeObject 将“_repository”添加到我列表中的每个项目?

为什么我的图像没有添加到我的JButton中?

什么是原型,为什么将它们添加到我的json对象中

为什么将pod中的文件添加到我的覆盖率报告中?

为什么不能将第二个EditText字段中的值添加到数据库中?

不能将sapply函数元素中的R添加到向量中

为什么Kubuntu将.directoy文件添加到我的目录中?

为什么在 PhpStorm 中没有目录/文件可以添加到我的范围?

为什么Protege将`xml`命名空间添加到我的本体中?

为什么Go将字节添加到我的字符串中?