int transforms into int&?
<p>code snippet:</p>

<pre><code>// some code
SDL_Surface* t = Display-&gt;render_text(text);
int z=100;
Display-&gt;blit_image(t,z,100);
// some more code
</code></pre>

<p>does not compile because z magically changes to an int&amp;,
file.cpp:48: error: no matching function for call to ‘display::blit_image(SDL_Surface*&amp;, int&amp;, int)</p>

<p>how can this happen?</p>

<p>post scriptum:
the following works if i put them in place of Display->blit_image(t,z,100)</p>

<p>Display->blit_image(t,z,100,0);</p>

<p>but i am sure that th 4th param is optional because the exact same function works elsewhere without it</p>

<p>pps: i created a minimal-case of my code that behaves as describd above
it's 3 files:</p>

<p>monkeycard.cpp: <a href="http://pastebin.com/pqVg2yDi" rel="nofollow">http://pastebin.com/pqVg2yDi</a></p>

<p>display.hpp: <a href="http://pastebin.com/xPKgWWbW" rel="nofollow">http://pastebin.com/xPKgWWbW</a></p>

<p>display.cpp: <a href="http://pastebin.com/nEfFX1wj" rel="nofollow">http://pastebin.com/nEfFX1wj</a></p>

<p>g++ -c display.cpp monkeycard.cpp fails with:
monkeycard.cpp: In member function ‘void monkeycard::messagebox(std::string)’:
monkeycard.cpp:28: error: no matching function for call to ‘display::blit_image(SDL_Surface*&amp;, int&amp;, int)’
display.hpp:26: note: candidates are: void display::blit_image(SDL_Surface*, int, int, SDL_Rect*)</p>
