Le mie scuse se questo è un dupe. Ho trovato un numero di post re. prevenire conversioni implicite, ma niente di nuovo. incoraggiando costruzioni implicite.Quali argomenti devo passare a una funzione per eseguire una costruzione implicita di un oggetto?
Se ho:
class Rect
{
public:
Rect(float x1, float y1, float x2, float y2){};
};
e la funzione libera:
Rect Scale(const Rect &);
perché sarebbe
Rect s = Scale(137.0f, 68.0f, 235.0f, 156.0f);
non fare una costruzione implicita di un const Rect&
e invece generare questo errore di compilazione
'Scale' : function does not take 4 arguments
Se lo stai forzando, non è implicito! – RQDQ