Using attachInterrupt() to make a reset button for my code?
You should enable verbose compilation in the IDE. You will then have a
chance to see this compiler warning:

warning: statement is a reference, not call, to function ‘exit’
  exit;
      ^
warning: statement has no effect


Naming a function without calling it is a way to get a pointer to the
function. It's equivalent to &amp;exit. But since you do nothing with that
pointer, the statement has no effect, and that's exactly what the
compiler is warning you about.

You presumably want to call the exit() function, like in:

exit(0);


Edit: That being said, exit() is probably not what you want.
This function just stops your program by putting it in an infinite loop.
If you want it to restart from scratch, you can first declare

extern "C" void __init();


then, instead of exit(0); call __init();. This will send your
program to the beginning of the initialization code from the C runtime,
which is responsible of resetting the stack and initializing the memory
(.data and .bss sections). Note that this is not equivalent to a
hardware reset because:


doing this does not run the bootloader
more importantly, it doesn't reset the IO registers of the peripherals
to their default reset state.