Похоже, что вы можете использовать «0» в качестве функции по умолчанию. параметр, но не как параметр шаблона по умолчанию. и я не понимаю почему.
Я свел свой код к следующему:
Код: Выделить всё
#include // cout, endl
using namespace std;
void Foo1(typename enable_if::type* = nullptr) // works
{
cout
Подробнее здесь: [url]https://stackoverflow.com/questions/78355978/c-metaprogramming-nullptr-vs-0-as-a-default-paramater-for-enable-ifbool[/url]
Мобильная версия