Well, the example code seems to turn off all interrupts and never turns them back on. Maybe that's the intent? Stop that pesky millis() from ever counting again.
It's also highly non-portable and will only work on the AVR Arduinos.
AWOL:
After all this time, if such a function didn't exist, don't you think someone else would have thought of creating it?
I suspect you meant to say
After all this time, if such a function didn't exist and had any value, don't you think someone else would have thought of creating it?
I can't think of any reason why it might be necessary to reset the value of miilis() and I suspect that code that assumes it is not reset would not not work properly if it is reset.
Harrix:
and the prototype same directory
( void reset_millis(void); ) in Arduino.h
MorganS:
It's also highly non-portable and will only work on the AVR Arduinos.
Since they are adding it to the Arduino AVR Boards core library that's not a problem as it can only ever be used on AVR Arduinos. Not that I'm defending the value of this function.
Now to answer the question. You haven't provided enough information to give a specific answer but I can think of two reasons:
Arduino sketches are C++. wiring.c is C. That means you need to wrap the declaration of your function in extern "C" {}. There is a section of Arduino.h that is for C function declarations and a section for c++ function declarations. If you didn't put your function in the area wrapped in extern "C" {} you will get just this error.
If you have updated your Arduino AVR Boards version via Boards Manager or are not compiling for a board that uses the Arduino AVR Boards core library then the files you edited will not be used and you will get the error.