2012-01-17 49 views
0

我試圖用gloox C++庫編寫一個基本的XMPP客戶端。這是我第一次使用C++,但gloox聽起來最適合我的需求,我擁有C和OO的經驗,所以我並不擔心嘗試它。Gloox XMPP庫,EXC_BAD_ACCESS

然而,我從一開始就碰壁了。我甚至無法從我的代碼中獲得「hello world」,而是得到一個EXC_BAD_ACCESS錯誤(使用Xcode 4)。

http://pastebin.com/7vS6ExUV

下面的代碼,它崩潰線路35 Gloox郵件列表上是相當相當,所以我認爲我會問這裏。有點擔心,雖然沒有gloox標籤!

+0

自從我使用gloox(或C++,我很高興地說)已經很長時間了。我一眼就看不出你的代碼有什麼問題。如果你沒有得到gloox的任何地方,請嘗試Swiften。這是一個更新,但更活躍的圖書館,由實際客戶的發展驅動。 – MattJ 2012-01-18 13:59:57

+0

這是我最終得到感謝的路線。看起來這是一個明智的選擇!對於其他人考慮,我建議這個圖書館,雖然它是一個在編譯屁股的皇家痛苦。馬特說,Swiften有很好的支持。 – RubberDucky 2012-01-19 11:08:27

回答

0

我自己對舊的C++有些生疏,但是你的主要方法對我來說看起來並不合適。在第49行,你聲明瞭一個指向MyClass實例的指針,但是不要分配它。所以你最好調用doIt(),最好是一個空指針,最壞的情況是一些隨機存儲空間中的垃圾對象。

要麼創建一個新的實例,要麼只是放下指針。例如:

int main(int argc, char* argv[]){ 
    MyClass a; // note, no pointer 
    a->doIt(); 
    return 0; 
}