You should not use the name of your function or class as the
#define
that wraps the header file. The line "
#define insertion_sort
" is telling the preprocessor to replace all the occurrences of "
insertion_sort
" with an empty string and causing the strange error messages.
Try using
#ifndef insertion_sort_h
#define insertion_sort_h
instead, or if you're using Visual C++ you could use
#pragma once
instead of the guard definition.