C++ 访问内存冲突
C++ Access memory violation
我在
尝试实例化时遇到访问内存错误:
Ferma(long _id, int _supr, int _nrp, Produs *_produse) :idFerma(_id),suprafata(_supr),nrproduse(_nrp){
for (int i = 0; i < this->nrproduse; i++)
produse[i] = _produse[i];
nrFerme++;
}
这是类的构造函数;Visual Studio 将我定向到重载运算符 = 的秒行作为错误的原因;
Produs &operator=(const Produs p){
this->pret = p.pret;
this->stoc = p.stoc;
this->denumire = new char[strlen(p.denumire) + 1];
strcpy(this->denumire, p.denumire);
return *this;
}
这是重载运算符 =
Ferma f3(55, 1500, nr, prod);
我已经从文件中读取了 PROD 数组,似乎还可以;顺便说一句,我知道我不应该使用 char *,但这是我必须这样做的方式。所以任何帮助将不胜感激
您的赋值运算符会复制
Produs &operator=(const Produs p){
在源实例中,您的复制构造函数是否正确实现?
相关文章:
- C++尝试深度复制唯一指针时出现内存访问冲突
- C++中的内存分配(引发异常:读取访问冲突)
- 在尝试使用CUDA分配内存时,我遇到了访问冲突写入位置错误
- 使用加速进程间创建消息队列 - 内存访问冲突
- C 指针转换会导致内存访问冲突
- 为什么创建进程 API 调用会导致内存访问冲突?
- 访问共享内存时出现读取访问冲突
- 这Microsoft CFileDialog 示例是否会导致潜在的内存冲突
- Python C++扩展 - 内存泄漏或访问冲突
- 如何修复<程序名称>中的"<内存位置>未处理的异常。Visual Studio 2017 中的访问冲突写入位置<内存位置>"
- C 程序内存冲突依赖于 std::cout (?)
- 使用 std::map 作为本地成员的内存访问冲突
- 编译哈希算法时出现内存访问冲突错误
- 使用内存访问冲突错误
- 堆栈引发内存访问冲突
- 使用 Boost::序列化时内存访问冲突
- 调用std::vector::empty()时内存访问冲突读取位置
- 简单加密程序集程序-写入内存位置时发生访问冲突
- 动态分配内存时发生访问冲突
- 修复 std::map 中的冲突内存泄漏