工作中遇到的坑(C++)

来源:互联网 发布:中国银行淘宝校园卡 编辑:程序博客网 时间:2024/05/29 18:41

全局变量声明错误导致崩溃

代码如下

file:main.cpp#include "bad.h";extern char *key;void main(int c,char** v){    function(key);};file:bad.hvoid function(char *);file:bad.cppchar key[8]={'0''1''2''3''4''5''6''7'};void function(char * arg){    do something with arg;}

现象 代码编译通过,但是运行时崩溃,看调用栈是崩溃在function里面,EXC_BAD_ACCESS,应该是内存访问错误,查看function的函数的参数arg=”“,全局变量key没有传进去。
解决 将main.cpp中的声明与bad.cpp中的声明统一为char key[8]问题得以解决。

原创粉丝点击