Why constructor of class A isn't called when object of this class is passed as an argument to function taking the argument by value?
class A
{
public:
A()
{
cout << "A\n";
}
};
void f_n(A val)
{
}
int main()
{
A a;
f_n(a);
return 0;
}