我编写了以下函数,它在向量中搜索并在向量中查找指针的位置,如果查找成功,则返回迭代器:
template<class InputIterator>
InputIterator MainCore::findDeviceAccordingToIP ( const char * value )
{
std::vector<Device *>::iterator first,last;
first = this->devList->begin();
last = this->devList->end();
Device *temp;
for ( ;first!=last; first++){
temp = *first;
if ( strcmp(temp->endpoint->IPAddress.c_str(),value) == 0)
{
return first;
break;
}
}
//return false;
}
以上cpp文件中的代码我将以下代码放在* .h文件的MainCore类中:
template<class InputIterator>
InputIterator findDeviceAccordingToIP (const char *value );
现在,当我调用 i 另一个函数时,例如:
this->findDeviceAccordingToIP("192.168.2.11");
现在我有两个问题:
当我编译它时,我收到以下错误:
error: no matching function for call to MainCore::findDeviceAccordingToIP(const char [13])
我如何得到 return T 而只是布尔值和迭代器?