#include <iostream>
using namespace std;
template < class T>
bool greater ( const T& a, const T& b) { return true ; } // moze greater() jest w super_tajna_biblioteka, nie wiem, bez tego nie działa to pomyslalem, ze includa nie ma
template < class T, typename comp = greater< T> >
class klasa {
public :
klasa( const T & a, const T & b) {
cout << comp( a, b) ;
}
} ;
int main( ) {
klasa< int > a( 1 , 2 ) ;
return 0 ;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdGVtcGxhdGUgPGNsYXNzIFQ+CmJvb2wgZ3JlYXRlciAoY29uc3QgVCZhLCBjb25zdCBUJmIpIHsgcmV0dXJuIHRydWU7IH0gLy8gbW96ZSBncmVhdGVyKCkgamVzdCB3IHN1cGVyX3Rham5hX2JpYmxpb3Rla2EsIG5pZSB3aWVtLCBiZXogdGVnbyBuaWUgZHppYcWCYSB0byBwb215c2xhbGVtLCB6ZSBpbmNsdWRhIG5pZSBtYQoKCnRlbXBsYXRlIDxjbGFzcyBULCB0eXBlbmFtZSBjb21wID0gZ3JlYXRlcjxUPiA+CmNsYXNzIGtsYXNhIHsKCXB1YmxpYzoKCWtsYXNhKGNvbnN0IFQgJmEsIGNvbnN0IFQgJmIpIHsKCQljb3V0IDw8IGNvbXAoYSwgYik7Cgl9Cn07CgppbnQgbWFpbigpIHsKCWtsYXNhPGludD4gYSgxLCAyKTsKCXJldHVybiAwOwp9
compilation info
prog.cpp:8:36: error: expected type-specifier before ‘greater’
template <class T, typename comp = greater<T> >
^
prog.cpp:8:36: error: expected ‘>’ before ‘greater’
prog.cpp: In function ‘int main()’:
prog.cpp:17:11: error: template argument 2 is invalid
klasa<int> a(1, 2);
^
prog.cpp:17:14: error: invalid type in declaration before ‘(’ token
klasa<int> a(1, 2);
^
prog.cpp:17:19: error: expression list treated as compound expression in initializer [-fpermissive]
klasa<int> a(1, 2);
^
prog.cpp:17:19: warning: left operand of comma operator has no effect [-Wunused-value]
prog.cpp:17:13: warning: unused variable ‘a’ [-Wunused-variable]
klasa<int> a(1, 2);
^
stdout