C&C++   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了c – 为什么不接受这种向量分配?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
所以我在我的类头中声明了一个向量,如下所示:

...
 private:
    vector<Instruction> instructions;
 ...

然后在构造函数的.cpp实现中,我尝试像这样初始化它:

instructions = new vector<Instruction>();

Xcode告诉我:没有可行的重载’=’

我基本上试图让这个类的行为像我在java中所期望的那样,其中类的实例保留了这个向量.这就是为什么我想用new动态分配它,以确保它不会在堆栈上丢失或什么的.感谢任何帮助,非常感谢.

解决方法

当你写作

vector<Instruction> instructions;

你已经对你的类的用户正在使用的任何内存模型进行了实例化的指令,例如:

class YourClass
{
vector<Instruction> instructions;
};

...
int main()
{
   YourClass class1; // stack
   std::unique_ptr<YourClass> class2(new YourClass); // heap
...
}

大佬总结

以上是大佬教程为你收集整理的c – 为什么不接受这种向量分配?全部内容,希望文章能够帮你解决c – 为什么不接受这种向量分配?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: