#include<iostream>
using namespace std;
class Test
{
 /* Class data members */
 public:
   Test(Test &t) { /* Copy data members from t*/}
   Test()        { /* Initialize data members */ }
};
Test fun()
{
  cout << "fun() Called\n";
  Test t;
  return t;
}
int main()
{
   Test t1;
   Test t2 = fun();
   return 0;
}
What is wrong with above C++ code? compiler throws following error.
error: no matching function for call to ‘Test::Test(Test)’