2012-01-15 97 views
1

經過幾天的調試我的Windows Mobile應用程序後,我得出結論,我得到的錯誤只是由我添加的代碼std::list造成的。STL容器支持Windows Mobile

剛剛添加該小塊代碼後:

std::list<int> x; 
x.push_back(234); 

我的應用程序的迷戀。

因此,我的問題出現了:哪些STL的容器可以在Windows Mobile中使用,哪些不能?

我找到了this question,但我沒有發現它對我的問題有用。

+0

哦,親愛的,再次損壞堆 – 2012-01-15 23:02:58

+0

@HansPassant你是什麼意思? – Patryk 2012-01-15 23:09:30

+0

@ Patryk:Noobie的問題,但你正在初始化(分配內存)你的列表? – jp2code 2012-01-16 17:33:47

回答

2

如果你的程序編譯並鏈接正常,不應該有任何缺失或崩潰(對於已刪除或不支持的東西,你應該期望編譯器錯誤(例如「未知變量/函數/ whater」或某種預處理器警告/錯誤)更可能是你的代碼中有一些其他的東西搞亂了你有沒有試圖用最小的程序來重現問題

+0

我檢查過的唯一的東西就是s當我用STL容器添加一些代碼時,我的程序仍在編譯,但是我得到一個PInvoke錯誤 - 因爲我的C++ dll庫鏈接到了我的C#Windows Mobile應用程序。 – Patryk 2012-01-15 23:01:30

+0

Ew!這可能是原因。你可能試圖從調試和發佈版本或類似的東西中混合和匹配STL的東西。您是否嘗試使用或鏈接較舊/較新的代碼(例如VS2010 + VS2008)? – Mario 2012-01-15 23:21:15

+0

這是什麼意思?我有一個解決方案和項目包含在我的VS2008解決方案中。 [類似這樣](http://img641.imageshack.us/img641/9162/mobile1.png) – Patryk 2012-01-15 23:31:46