创建指向指针列表的指针时发生访问冲突错误
Access violation error when creating pointer to pointer List
i, i ' m尝试创建指向指针的指针列表
list<ObjectClass*> *lst_testList;
并尝试这样使用
void FunctioningClass::functioningMethod()
{
ObjectClass *object = new ObjectClass();
object->i_testing = 234;
lst_testList->push_back(object);
object = lst_testList->front();
cout<<object->i_testing;
std::getchar();
}
我可以构建程序。但是当我运行它时,它给了我这个错误。
ConsoleApplication7.exe中0x012885DA的未处理异常:0xC0000005:访问违反读取位置0x00000004.
注意,当我创建这样的列表时
list<ObjectClass*> lst_testList;
,像这样使用
lst_testList.push_back(object);
list<ObjectClass*> *lst_testList
是指向ObjectClass指针列表的指针。为了使用它,您要么需要先分配它,要么(正如你已经发现的)使用list<ObjectClass*> lst_testList
(这是一个列表ObjectClass指针)。
此list<ObjectClass*> lst_testList;
变量为默认初始化。
对于指针list<ObjectClass*>* lst_testList;
,不进行默认初始化。正确的初始化是:
list<ObjectClass*>* lst_testList = new list<ObjectClass*>();
或
list<ObjectClass*>* lst_testList = NULL;
这取决于你的目标
相关文章:
- C++尝试深度复制唯一指针时出现内存访问冲突
- 尝试通过共享指针使用变量时读取访问冲突
- 使用智能指针读取访问冲突
- C 指针转换会导致内存访问冲突
- C++:读取 Lambda 捕获的指针时出现访问冲突
- 初始化指针时出现写入访问冲突
- 不能对基于数组的指针使用数组运算符(读取访问冲突)
- C++ - 智能指针 - 访问冲突读取位置0xDDDDDDDD
- 调用指针时违反 C++ Typedef 访问冲突
- 为什么未初始化的指针会导致接近 0 的 mem 访问冲突
- 执行指针时发生C++访问冲突
- C++:使用std::ifstream读取二进制文件后删除缓冲区/指针时发生访问冲突
- 指针未指向 NULL 时的访问冲突
- 指针导致访问冲突
- 在标头中声明指针会导致访问冲突
- C++ - 函数、参数和指针 - 访问冲突
- Std::数组到指针访问冲突错误
- c++类:创建线程的对象+指向函数的指针=访问冲突
- C++指针访问冲突写入位置
- C++ shared_ptr<Base>指针访问冲突