我已經定義指針數組是這樣的:如何檢查是否在指針數組C++對象指針設置
private:
PuzzleObj * components[COMPONENT_SIZE];
中相應的定義文件我有一個方法來設置對象指針
void ComponentMadiator::Register(PuzzlePartLocation puzzlePartLocation,PuzzleObj* PuzzleObj)
{
if(components[puzzlePartLocation]!=NULL || components[puzzlePartLocation]->isSet!=NULL || components[puzzlePartLocation]->isSet==true)
{
components[puzzlePartLocation] = PuzzleObj;
}
}
並在這裏我檢查指針數組失敗,當它得到元素,沒有bean set 它失敗時,未設置指針是在數組元素 中發現和即時獲取此錯誤:
Unhandled exception at 0x00B90646 in Breaker.exe: 0xC0000005: Access violation reading location 0xCDCDD0D1.
void ComponentMadiator::SendMassage(Massage massage)
{
for (int i = 0; i < COMPONENT_SIZE; i++)
{
if(components[i]!=NULL && components[i]->isSet!=NULL)
{
if(components[i]->isSet!=false)
{
components[i]->Notify(massage);
}
}
}
}
我的問題很簡單我如何檢查數組中是否包含元素包含對象指針?
UPDATE:
如果我不希望設置WITE循環中的所有元素,更好的只是用地圖作業
你不能檢查。你必須確保你首先正確地初始化你的數據。 –
我只初始化當我需要註冊對象 – user63898
我建議你閱讀[指針](http://www.cplusplus.com/doc/tutorial/pointers/)和[動態內存分配](http: //www.cplusplus.com/doc/tutorial/dynamic/) 繼續之前 – goozez