prog.cpp:5: error: expected `class' before ‘R’
prog.cpp:5: error: expected ‘>’ before ‘func’
prog.cpp:6: error: ‘A’ was not declared in this scope
prog.cpp:6: error: type/value mismatch at argument 1 in template parameter list for ‘template<class _Arg, class _Result> struct std::unary_function’
prog.cpp:6: error: expected a type, got ‘R’
prog.cpp:6: error: template argument 2 is invalid
prog.cpp:8: error: ISO C++ forbids declaration of ‘R’ with no type
prog.cpp:8: error: expected ‘;’ before ‘operator’
prog.cpp:12: error: expected `;' before ‘}’ token
prog.cpp: In function ‘int main()’:
prog.cpp:21: error: type/value mismatch at argument 1 in template parameter list for ‘template<template<class R, class A> class R> struct S’
prog.cpp:21: error: expected a class template, got ‘foo’
prog.cpp:21: error: invalid type in declaration before ‘;’ token
prog.cpp:23: error: ‘s’ cannot be used as a function