尝试设置唯一指针布尔数组的值时BAD_ACCESS错误
BAD_ACCESS error when trying to set value of unique pointer boolean array
我不确定这是否是语法问题,但我尝试弄乱声明,似乎无法摆脱错误。以下是头文件中的私有成员变量。
class PrimeGenerator
{
private:
unique_ptr<bool[]> sequence;
int length;
这些声明引来了一个BAD_ALLOCATION错误。我的语法不正确吗?如何声明 unique_ptr 数组的成员?
sequence[0] = 0;
sequence[1] = 0;
sequence[2] = 1;
在您的代码中,unique_ptr<bool[]> sequence;
似乎没有任何值可以指向。
unique_ptr<bool[]> sequence{new bool[3]};
您可以尝试使用上面的代码。同样如前所述,智能指针是一个类,它包装了一个"原始"(或"裸"(C++指针,以管理所指向对象的生存期。 使用原始指针,程序员必须在对象不再有用时显式销毁对象。通过比较,智能指针定义何时销毁对象的策略。您仍然需要创建对象,但您不再需要担心破坏它。
相关文章:
- 警告处理为错误这里有什么问题
- "error: no matching function for call to"构造函数错误
- boost::进程间消息队列引发错误
- C++,OpenCV,尝试显示图像时"OpenCV(4.3.0) Error: Assertion failed (size.width>0 && size.height>0)"此错误
- 有关插入适配器的错误。[错误]请求从 'back_insert_iterator<vector<>>' 类型转换为非标量类型
- QT在错误的班级中寻找空位
- vector.resize()中的分配错误
- 代码在main()中运行,但在函数中出现错误
- 释放错误后堆使用
- 获取错误:在抛出"std::bad::alloc"的实例后终止调用 what(): std::bad_alloc
- 新的 C++14 位分隔符处"Bad Character" Eclipse Oxygen 错误
- 解密文件AES_256_CBC返回"bad decrypt"错误
- OpenCV C++神经网络 predict() 函数抛出"Bad argument"错误
- cvLogPolar 导致 opencv 错误"Bad flag (parameter or structure field)"
- 生成文件'fdopen: Bad file descriptor'错误
- 来自 MSDN C++ 示例的 LDAP "The search filter is bad."错误
- 'Pre-mature EOF'和'Bad Character'错误
- 错误:在 CComVariant 中"bad variable type":循环访问 CComSafeArray 时复制
- fwrite 失败(返回 0,错误给出 "Bad address")
- Xcode4:再次"bad codegen, pointer diff"链接器错误