'int right' программирование графики c ++ - PullRequest
0 голосов
/ 11 июля 2019

Как я могу исправить переопределение int right?См. Код ниже.

Вот этот int right=INT_MAX проблема

unsigned imagesize( int left, int top, int right, int bottom );
void getimage( int left, int top, int right, int bottom, void *bitmap );
void putimage( int left, int top, void *bitmap, int op );
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 right=0, int right=INT_MAX, int bottom=INT_MAX,
    bool active=true, HWND hwnd=NULL
    );

1 Ответ

2 голосов
/ 11 июля 2019

В вашей декларации 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
    );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...