in my humble opinion, the problem is not only the function prototype:
In fact, you should not use 'cin >>' to enter a string, but the command 'getline (cin, choice)', there is also a problem of overlap between the call 'string calc' and function 'void calc'
if you make these changes the program works, although it is very slow to boot.
've tried to use 'switch' instead of 'if / else'?
one more thing:
you should use variables of type float, so that the calculator return correct results.