未处理的异常:访问冲突写入位置0x00000000

时间:2016-01-13 11:00:46

标签: c++ visual-c++

我正在做一个简单的应用程序来定义结构并将数据放在结构中以学习结构的概念。但是当尝试向结构插入数据时,我遇到了访问冲突。以下是代码部分。

在Test.h文件中

typedef struct Msg
{
unsigned char*   message_id;
unsigned char*   message_name;
}Msg_t; 

在Test.cpp文件中

Msg_t *new_node[10];

const char *src = "E0";
new_node[0]->message_id = (unsigned char *)_strdup(src); //getting access violation error here.

为什么我会收到错误?请帮忙。

1 个答案:

答案 0 :(得分:1)

我自己找到了答案。它的问题是没有正确的初始化。我在代码中添加了以下行。

new_node[0] = new Msg_t();
new_node[0]->message_id = (unsigned char *)_strdup(src);

现在一切都很完美。