фрагмент кода:int преобразуется в int &?
// some code
SDL_Surface* t = Display->render_text(text);
int z=100;
Display->blit_image(t,z,100);
// some more code
не компилируется, поскольку г волшебно меняется на INT &, file.cpp: 48: ошибка: нет функции соответствия для вызова «дисплей :: blit_image (SDL_Surface * &, внутр &, int)
как это может случиться?
Постскриптум: следующие работы, если я положил их на место Экран-> blit_image (т, г, 100)
Экран-> blit_image (т, г, 100,0);
, но я уверен, что го 4 парам не является обязательным, так как та же самая функция работает в другом месте без него
бод: я создал минимальный-случай моего кода, который ведет себя, как describd выше это 3 файла:
monkeycard.cpp: http://pastebin.com/pqVg2yDi
display.hpp: http://pastebin.com/xPKgWWbW
display.cpp: http://pastebin.com/nEfFX1wj
г ++ -c display.cpp monkeycard.cpp терпит неудачу с: monkeycard.cpp: В функции члена Пустота monkeycard :: MessageBox (станд :: строка) ': monkeycard.cpp: 28: ошибка: нет соответствия функции звоните в 'дисплей :: blit_image (SDL_Surface * &, внутр &, целое)' display.hpp: 26: Примечание: кандидаты: аннулируются дисплей :: blit_image (SDL_Surface *, Int, Int, SDL_Rect *)
Как произносится 'blit_image'? –
void display :: blit_image (SDL_Surface * img, int x = 0, int y = 0, SDL_Rect * clip = NULL) { // код – lorb
Отображается ли 'Display-> blit_image (t, int (z), 100); 'работа? – fredoverflow