#include <iostream>
class Fun
{
public :
explicit Fun( int i) : v_( i) { }
void operator( ) ( int j) const
{
std:: cout << ( v_ + j) << "\n " ;
}
private :
int v_;
} ;
int main( )
{
int a = 1 ;
int b = 2 ;
Fun( a) ( b) ; // ERROR: conflicting declaration 'Fun a'
( Fun( a) ) ( b) ; // OK: prints 3
return 0 ;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKY2xhc3MgRnVuCnsKcHVibGljOgogICAgICAgIGV4cGxpY2l0IEZ1bihpbnQgaSk6IHZfKGkpIHt9CgogICAgICAgIHZvaWQgb3BlcmF0b3IoKShpbnQgaikgY29uc3QgCiAgICAgICAgeyAKICAgICAgICAgICAgICAgIHN0ZDo6Y291dCA8PCAodl8gKyBqKSA8PCAiXG4iOyAKICAgICAgICB9Cgpwcml2YXRlOgogICAgICAgIGludCB2XzsgCn07CgppbnQgbWFpbigpCnsKICAgICAgICBpbnQgYSA9IDE7CiAgICAgICAgaW50IGIgPSAyOwoKICAgICAgICBGdW4oYSkoYik7ICAgLy8gRVJST1I6IGNvbmZsaWN0aW5nIGRlY2xhcmF0aW9uICdGdW4gYScKICAgICAgICAoRnVuKGEpKShiKTsgLy8gT0s6IHByaW50cyAzCiAgICAgICAgcmV0dXJuIDA7Cn0=