c++中的 0x004114a4 处有未经处理的异常: 0xC0000005: 写入位置 0xcccccccc 时发生访

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c++中的 0x004114a4 处有未经处理的异常: 0xC0000005: 写入位置 0xcccccccc 时发生访相关的知识,希望对你有一定的参考价值。

#include <iostream>
#include<stdio.h>
#include<stdlib.h>
#include<stack>//顺序栈定义及基本操作
using namespace std;

#define true 1;
#define false 0;
#define StackInitSize 100

typedef struct
int *base;
int *top;
SqStack;
void InitStack(SqStack &S)


int StackEmpty(SqStack S)
if(S.base==S.top)
return true;
else return false;


int Push(SqStack &S,int e)
if(S.top-S.base>=StackInitSize)

printf("栈满!栈发生上溢,程序运行终止!\n");
exit(0);

else
*S.top++=e;
return 0;


int Pop(SqStack &S, int &e)
if(S.base==S.top)

printf("栈为空!");
return 1;

S.top--;
e=*S.top;
return 0;


void main()
int N;
int e;
SqStack s;
InitStack(s);
scanf("%d",&N);
while(N)
Push(s,N%8);
N=N/8;

while(!StackEmpty(s))
Pop(s,e);
printf("%d",e);



ceshi.exe 中的 0x004114a4 处最可能的异常: 0xC0000005: 写入位置 0xcccccccc 时发生访问冲突
ceshi.exe 中的 0x004114a4 处有未经处理的异常: 0xC0000005: 写入位置 0xcccccccc 时发生访问冲突

参考技术A 你的SqStack结构体只是两个指针,初始化什么也没做,并没有指向一块分配的好内存。
当然会报错了追问

我知道是未分配内存导致的,请问如何修改呢?

本回答被提问者和网友采纳

以上是关于c++中的 0x004114a4 处有未经处理的异常: 0xC0000005: 写入位置 0xcccccccc 时发生访的主要内容,如果未能解决你的问题,请参考以下文章

devenv.exe 中的 0x756c3e28 处有未经处理的异常

0x00BF56C9 处有未经处理的异常(在 ConsoleApplication26.exe 中):

0x01A686F0 处有未经处理的异常(在 五金上色软件.exe 中): 0xC000041D: 用户回调期间遇到未经处理的异常。。

处有未经处理的异常:0xC0000005:写入位置0x00EFA000时发生访问冲突.

c++ queue 使用的问题

c++堆栈溢出问题?