1. 程式人生 > >linux程式設計遇到的奇怪問題(對於windows程式設計師來說)

linux程式設計遇到的奇怪問題(對於windows程式設計師來說)

今天使用結構體的時候遇到一個奇怪的問題,我定義了一個結構體,裡邊有一個數組,還有兩個函式指標例如下面:

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。。。。。悲劇啊。。。。。