Hi,
I have recently upgraded to GCC 11.1 in order to access some C++ 20 features and TCLAP fails to build. The issue is the copy constructors for ValueArg and MultiArg include the template argument which is no longer permitted (see https://eel.is/c++draft/diff.cpp17.class#2).
The fix is simple enough (and appears to be backwards compatible):
from
ValueArg<t>(const ValueArg<t>& rhs);
ValueArg<t>& operator=(const ValueArg<t>& rhs);
to
ValueArg(const ValueArg& rhs);
ValueArg& operator=(const ValueArg& rhs);</t></t></t></t>
Reported and fixed in https://sourceforge.net/p/tclap/bugs/33