红联Linux门户
Linux帮助

linux编程遇到的奇怪问题(对于windows程序员来说)

发布时间:2015-11-24 10:23:31来源:linux网站作者:redfox1985

今天使用结构体的时候遇到一个奇怪的问题,我定义了一个结构体,里边有一个数组,还有两个函数指针例如下面:

typedef struct _MyStruct

{

int arr[2];

int (*Fun1)(_MyStruct* p);

int(*Fun2)(_MyStruct* p);

}MyStruct;


定义了一些全局方法来初始化这个结构,例如:

CreateStruct(MyStruct* pThis)

{

pThis->arr[0] = 0;

pThis->arr[1] = 1;

pThis->Fun1 = ...;

pThis->Fun2 = ...;

}

.....


在类A中定义了MyStruct st_1;

构造函数中调用CreateStruct(&st_1);

但是在使用的时候却出现了指针异常(debug发现内存中的数据乱了,似乎被什么数据搞越界了一样),而当我把这个成员改成指针之后竟然好了。

最后发现了,竟然是没有重新编译的问题,我改了头文件,没有clean,直接make,omg。


程序员应该坚决避免的十种编程坏毛病:http://www.linuxdiyf.com/linux/15683.html

老程序员推荐的10个编程策略:http://www.linuxdiyf.com/linux/15641.html

成为专业程序员的6个技巧:http://www.linuxdiyf.com/linux/15352.html

程序员应该避免的5种代码注释:http://www.linuxdiyf.com/linux/14595.html

程序员找不到开发工作的6大原因:http://www.linuxdiyf.com/linux/14197.html