早上的代码错误终于找到原因了......

TreeWasTaken-avatar

TreeWasTaken

2022-06-27T14:57:10+00:00

刚才用了vs自带的调试器,然后发现运行到添加完新职工之后程序就会顶住报错,调试器报错这个:

"0x00007FF794EBC875 处(位于 职工管理系统.exe 中)引发的异常: 0xC0000005: 读取位置 0x0000000000000008 时发生访问冲突。"

然后我发现下面指向的是写文件的一个函数,但是写文件的ofs函数并没有错误,然后我又看到下面指针worker指向的还是m_emparray[i]里面是NULL[s:ac:怕]
[img]https://img.nga.178.com/attachments/mon_202207/05/-7Q2q-3jkxKvT3cSsg-2p.jpg[/img]

应该是写文件的时候发现数组中是NULL,这样就导致我的指针就是一个空指针无法写入,但是我又要写入,就会产生访问错误,估计就是这样吧,初学没啥经验......

既然是数组中NULL的问题,我就看了和数组有关的代码,果然发现了是switch循环中的case1没有打空格,应该是case 1[s:ac:怕],这样就导致worker=new employee(id,name,1)无法正常运行的问题.....

真的是太几把蛋疼了,编程真的是一个空格都不能错,要不然找BUG都搞死你......

以后真的要多用自带的调试器,太JB好用了,以前我咋没发现呢.....
WedoOx-avatar

WedoOx

还有人用vs?
linux的程序怎么办
gum-avatar

gum

[s:ac:咦]“case1:”能编译通过?竟然不会报语法错误?
另外,善用调试器,比打log强多了[s:ac:茶]
AuraHyperX-avatar

AuraHyperX

[quote][pid=622992952,32574855,1]Reply[/pid] Post by [uid=63404478]空心92[/uid] (2022-07-05 23:18):

还有人用vs?
linux的程序怎么办[/quote]早可以编译linux代码了[s:ac:喘]