A megoldáshoz arra az elvre van szükségünk, hogy lokális változó/érték szerint átvett argumentum címét nem szolgáltathatjuk ki a függvényen kívülre sem pointeren sem referencián keresztül. Ez a hiba futási időben jön elő, bár warningot kapunk. (SzC++Ny 2.4 fejezet).
a) A kódrészlet érték szerint átadott argumentumot ad vissza referencia szerint, ami súlyos futási idejű hiba (warningot ad a fordító).
b) A függvény nem referenciával/pointerrel tér vissza, így biztos nem szolgáltat ki semmilyen címet a függvényen kívülre, ez helyes.
c) A kódrészlet lokális változóra ad vissza referenciát, ezért hibás, futási idejű hiba (warningot ad a fordító).
d) A függvény nem referenciával/pointerrel tér vissza, így biztos nem szolgáltat ki semmilyen címet a függvényen kívülre, vagyis a kódrészlet referencia szempontjából helyes.
e) A referencia szerint átvett paraméter nem lokális, a függvény hívásának hatókörében is létezik, ezért erre akár referenciával/pointerrel is visszatérhetünk, ez referencia szempontjából helyes.
A további példák megoldásához szükséges elméleti ismereteket a félév vége felé fogjuk venni (v.ö. SzC++Ny 8.1).
f) int és double& között nincs automatikus konverzió, vagyis ez fordítási hiba.
g) Ha kierőszakoljuk konverziót, akkor futási iedjű hibát idézünk elő, mert az int és a double& nem kompatibilis típusok.