#include <iostream>
using namespace std;
template < typename T>
using INT_OPERATION = const T( T const , T const ) ;
//using func = void(*) (int, int);
INT_OPERATION< int > add( int const a, int const b)
{
return a + b;
}
int main( )
{
std:: cout << add( 1 , 2 ) << std:: endl ;
return 0 ;
}
/*const int add(int const a, int const b)
{
return a + b;
}
*/
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdGVtcGxhdGU8dHlwZW5hbWUgVD4KdXNpbmcgSU5UX09QRVJBVElPTiA9IGNvbnN0IFQoVCBjb25zdCwgVCBjb25zdCk7CgovL3VzaW5nIGZ1bmMgPSB2b2lkKCopIChpbnQsIGludCk7CgoKSU5UX09QRVJBVElPTjxpbnQ+IGFkZChpbnQgY29uc3QgYSwgaW50IGNvbnN0IGIpCnsKCXJldHVybiBhICsgYjsKfQoKaW50IG1haW4oKSAKewoJc3RkOjpjb3V0IDw8IGFkZCgxLCAyKSA8PCBzdGQ6OmVuZGw7CglyZXR1cm4gMDsKfQoKLypjb25zdCBpbnQgYWRkKGludCBjb25zdCBhLCBpbnQgY29uc3QgYikKewoJcmV0dXJuIGEgKyBiOwp9CiovCg==
compilation info
prog.cpp:10:48: error: ‘add’ declared as function returning a function
INT_OPERATION<int> add(int const a, int const b)
^
prog.cpp: In function ‘int main()’:
prog.cpp:17:23: error: ‘add’ was not declared in this scope
std::cout << add(1, 2) << std::endl;
^
stdout