Можете ржать, но я не осилил запилить SFINAE.
Темка такая. Мой код работает с некой библиотекой. В одной из версий у функции из этой библиотеки изменилось число аргументов. Было 3, а стало 4. Нужно написать код, который сможет работать с обеими версиями. Мне лень обмазывать код дефайнами и вносить изменения в сборочный скрипт.
Я хочу, чтобы шаблонная магия проверила сколько у функции аргументов и в зависимости от этого подставила нужное количество параметров. Накидал минимальный пример. Там у foo
два аргумента, но компилятор залезает в первую шаблонную функцию, где передаётся три аргумента и умирает. Надо как-то отучить его туда ходить.
Стандарт C++14.