Hi Phy, > What am I doing wrong WRT gcc411? You are doing nothing wrong WRT gcc411. What you are doing is wrong WRT C++. C++ requires accessibility of the copy constructor for the temporary, even though the copy constructor was eliminated. You can work around that issue by making a named variable and passing in the named variable to the function. HTH, --Eljay