Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/131.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ “为什么?”;删除“;接线员给我访问权限违规_C++_Dynamic Memory Allocation_Delete Operator - Fatal编程技术网

C++ “为什么?”;删除“;接线员给我访问权限违规

C++ “为什么?”;删除“;接线员给我访问权限违规,c++,dynamic-memory-allocation,delete-operator,C++,Dynamic Memory Allocation,Delete Operator,您分配了一个包含零个元素的数组 Access violation reading location at address 您不能像现在这样写入这样的数组 int *res=new int[0]; 程序具有未定义的行为 您可以使用类模板std::vector,而不是动态分配的数组。在这种情况下,您可以使用方法push_back将元素添加到向量。为0个元素分配空间,然后访问超出边界的数组。你确定问题出在delete上吗?如果你想避免这个问题和更多的问题,请使用std::vector。建议:你真的

您分配了一个包含零个元素的数组

Access violation reading location at address
您不能像现在这样写入这样的数组

int *res=new int[0];
程序具有未定义的行为


您可以使用类模板
std::vector
,而不是动态分配的数组。在这种情况下,您可以使用方法
push_back
将元素添加到向量。

为0个元素分配空间,然后访问超出边界的数组。你确定问题出在
delete
上吗?如果你想避免这个问题和更多的问题,请使用
std::vector
。建议:你真的不应该将res设为全局,您应该将其作为arg传递给您的函数。如果我没有使用delete运算符,则工作正常,因此为0元素分配空间不是问题,因为它是动态分配的。请注意,仅用向量替换数组并不能修复此代码,因为向量仍然需要调整大小。@Fredrarson他可以使用push_back方法向向量添加元素。
int *res=new int[0];
res[0]=1;