我需要在列表中的成員返回指針,如果所需的部件不在那裏,我得到一個空指針(或任何其他指示)如何爲列表成員C++返回空指針?
list<LINKS>::iterator find_link(list<LINKS> &link, char* ID)
{
list<LINKS>::iterator link_index;
LINKS link_i;
link_index = link.begin();
for (int i = 0; i < link.size(), i++)
{
link_i = *link_index;
if (!strcmp(link_i.ID, ID)) { return link_index; };
link_index++;
};
cout << "Node outsession does not exist " << ID;
return nullptr; // ERROR (nullptr is not the same type as list<LINKS>::iterator)
};
我添加了錯誤消息(cout << "Node outsession does not exist " << ID;
)指示如果沒有找到鏈接,但我需要爲調用者函數指出該鏈接。
我該怎麼做? 感謝
的規範方法返回一個「未找到」的迭代器將返回'link.end();'。 – user657267 2014-12-02 00:06:53
但link.end()仍然是調用者函數的有效指針。調用者永遠不會注意到該鏈接不存在。 – Ammar 2014-12-02 00:11:13
調用者會說'if(find_link(links,&ID)== links.end())// error' – Galik 2014-12-02 00:12:31