0
Have I misunderstood the return line?
I have been using this thinking it passed the result of variable manipulation in a function back to the main code. So if I generate a die roll in a function, I have done something like this: DieRoll () { Die= 1 + rand() %6; return Die; } and if I have not done any variable manipulation, I have used a Void function. Reading back through the lessons on this app, I don't think this is right! So what is the return 0 actually for? And when would I need a Void Function? Thank you.
2 Answers
+ 11
You use a void function when you don't need to return anything back to the caller.
void speak()
{
std::cout << "Something.";
}
// which can be called in main as speak();
For a dice roll, you will want to return an integer value back to the caller.
int roll()
{
return 1+ rand() % 6;
}
int main()
{
std::cout << roll();
return 0;
}
+ 5
int count=0;
void printOut(what) {
printf("Line %d: %s\n", count++, what);
// why return a printf status?
// also, you can see count outside
}
By convention, returning 0 means success.
*** By the way, mod can unbalance rand() ... just something to know:
https://stackoverflow.com/questions/10984974/why-do-people-say-there-is-modulo-bias-when-using-a-random-number-generator