И это всё МОЁ

Можете ржать, но я не осилил запилить SFINAE.

Темка такая. Мой код работает с некой библиотекой. В одной из версий у функции из этой библиотеки изменилось число аргументов. Было 3, а стало 4. Нужно написать код, который сможет работать с обеими версиями. Мне лень обмазывать код дефайнами и вносить изменения в сборочный скрипт.

Я хочу, чтобы шаблонная магия проверила сколько у функции аргументов и в зависимости от этого подставила нужное количество параметров. Накидал минимальный пример. Там у foo два аргумента, но компилятор залезает в первую шаблонную функцию, где передаётся три аргумента и умирает. Надо как-то отучить его туда ходить.

Стандарт C++14.








 , , ,