prog.cpp:7:30: error: expected ‘class’ or ‘typename’ before ‘DisplayAdapter’
template<template <typename> DisplayAdapter>
^~~~~~~~~~~~~~
prog.cpp: In function ‘int main()’:
prog.cpp:18:13: error: the value of ‘concreteAdapter’ is not usable in a constant expression
Painter<concreteAdapter> p;
^~~~~~~~~~~~~~~
prog.cpp:17:23: note: ‘concreteAdapter’ was not declared ‘constexpr’
DisplayAdapter<S> concreteAdapter;
^~~~~~~~~~~~~~~
prog.cpp:18:28: error: type/value mismatch at argument 1 in template parameter list for ‘template<template<class> class DisplayAdapter> class Painter’
Painter<concreteAdapter> p;
^
prog.cpp:18:28: note: expected a class template, got ‘concreteAdapter’