Ich habe ein Problem mit einer Funktion .. Ich möchte die Funktion zwei Argumente haben. wird man ein Array von Objekten sein und die zweite wird der Code vom Benutzer gegeben werden und in die Funktion eine lineare Suche und überprüfen, ob die Benutzer-Code vorhanden ist, und wenn der Code existiert, wird zurückkehren, um seine Position in dem Array sonst gibt -1 ...lineare Suche auf Array von Objekt C++
dies zu laufen, was ich versuche bereits:
int passwdSearch(Eidos pinPro[], int pass)
{
int i=0;
bool found;
found=false;
while(i<N && found==false)
{
if(pinPro[i].getPasswd()==pass)
{
found=true;
return i;
}
else
return -1;
i++;
}
}
Ich möchte die Funktion die Position zurück, wenn Kennwort existieren sonst symbolische Zahl -1 zurück
Das Problem ist, dass der Code Rückkehrposition nur für das erste Element des Arrays und die 4 anderen Element Funktion return -1
Hinweis: Dieser Code kann nie erreichen Ihre 'i ++;'. Sie kommen immer von der Funktion zurück, bevor Sie diese Linie erreichen. –
dude, 'std :: find_if' –
Nicht alle Codepfade geben einen Wert zurück ... –