non-void function
Zdravím,
prosím vás, může mně někdo vysvětlit, proč funkce typu:
int funkce(argumenty){
if (výraz) {
if (výraz) {
*id = id1->id2;
return 1;
}
else {
funkce(id1->left);
funkce(id1->right);
}
}
else
return 0
}
při překladu hlásí warování: warning: control reaches end of non-void function [-Wreturn-type]
Přece vracím hodnotu typu int.
Děkuju.
A co vracíš tady?
Rekurzivně volám tu samou funkci.
Ale nic tam nevracíš.
Potom to ale nefunguje, jak by mělo. Mělo by to procházet bin. strom rekurzivně a hledat zadaný pvek. Vracet TRUE (1) při nalezení a FALSE (0) při nenalezení daného prvku
Ale funguje. Jenom ten výsledek musíš vrátit.
Nejsem si jistý tím, jak to myslíš. Nefunguje mi to správě. Když tam přidám return false, pak mi to nikdy nic nenajde.
Děkuju, funkci jsem předělal a funguje.