我製作了一張地圖,我在另一個線程中需要該地圖,因此我製作了一個指向我的地圖並將其發送給另一個線程的指針。但是當我想查看一個映射中的值是否爲NULL(指針)時,我得到一個錯誤。如何查看指針地圖中的指針是否爲0
這是一個例子codee:
#include <iostream>
#include <vector>
#include <map>
using namespace std;
int main()
{
int test = 1;
map<int,void *> handle;
map<int,void *> * handle2;
handle[0] = &test;
handle2 = &handle;
if(*handle2[0])
{
cout << "Works\n";
}
system("Pause");
return false;
}
這是我的錯誤:
錯誤C2451:類型的條件表達式 '的std ::地圖< _Kty,_Ty>' 是非法的
在這種情況下,我如何剔除0指針?
順便說一句克++錯誤是'不匹配在「** handle2'' '運算符*'這使得它更清晰(至少對我來說)這是一個操作優先級問題......我知道這是OT,但是當我在代碼中看到一個系統(「暫停」)時,我總覺得不舒服,我建議你找到一種感覺不必要的方式(因爲它的「需求」只是來自y的方式ou運行你的代碼) – ShinTakezou 2012-02-16 18:35:08