Greetings,
I dug a little bit further:
Dumping the whole preprocessor showed that this header
|
Boost.org statechart module. Contribute to boostorg/statechart development by creating an account on GitHub.
github.com
|
that defines statechart::null was included after fifo_worker.hpp for some reason which did not see the null. Including memory.hpp before fifo_worker.hpp did solve the problem for the moment.
|
Boost.org statechart module. Contribute to boostorg/statechart development by creating an account on GitHub.
github.com
|
From: Boost-users <boost-users-bounces@lists.boost.org> on behalf of Robert Jones via Boost-users <boost-users@lists.boost.org>
Sent: Friday, July 5, 2024 3:24 PM
To: boost-users@lists.boost.org <boost-users@lists.boost.org>
Cc: Robert Jones <robertgbjones@gmail.com>
Subject: Re: [Boost-users] error: template argument for template type parameter must be a type template< class Allocator = std::allocator< none > >
I try to port a c++ project to a new environment with clang++-17, libcxx 17 and std=c++17 for x64 Linux. Also, I switched form boost 1.65 to 1.84. Now I start getting errors in boost itself:
/workspace/usr/include/boost/statechart/fifo_worker.hpp:55:45: error: template argument for template type parameter must be a type
55 | template< class Allocator = std::allocator< none > >
I'm not sure if this answers your issue, but from §12.3.4 (p197) of
C++ Templates,
Prior to C++17, default template template arguments of a template template argument were ignored (but if the template template parameter has default arguments, they are considered during the instantiation of the template).
HTHs, Rob