В вашей декларации printimage
у вас есть два входных параметра, которые называются right
:
int left=0, int right=0, int right=INT_MAX, int bottom=INT_MAX,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Вы не можете объявлять переменные или параметры с одним и тем же именем дважды - как вы можете отличить их для использования?их?Отсюда ошибка объявления.(Я ценю, что в объявлении здесь это не имеет большого значения: действительно важно, что это оба типа int, поскольку вы просто объявляете сигнатуру функции, и компилятор может просто игнорировать это, пока выэто верно с разными именами в определении функции.)
Основываясь на шаблоне в других ваших объявлениях (слева, сверху, справа, снизу), я думаю, вы хотите изменить первое на int top
,т.е.
void printimage(
const char* title=NULL,
double width_inches=7, double border_left_inches=0.75, double border_top_inches=0.75,
int left=0, int top=0, int right=INT_MAX, int bottom=INT_MAX,
bool active=true, HWND hwnd=NULL
);