我在尝试在结构中设置字符串时遇到问题,下面是我的代码:
struct movieNode
{
string name;
};
int main()
{
struct movieNode* newMovieNode = (struct movieNode*)malloc(sizeof(movieNode));
newMovieNode->name = "123";
}
运行此命令时,将显示以下消息:
“Trabalho.exe中0x5EDB11E2(msvcr110d.dll)处未处理的异常:0xC0000005:访问冲突写入位置0xCDCDCDCD。
有人可以帮我解决这个问题吗?
非常感谢。
最佳答案
您为movieNode
分配了内存,但是没有构造它。请改用new
。同样,在C++中,不需要详细的类型说明符。
movieNode* newMovieNode = new movieNode;