Надо больше кода и текст ошибки. Так-то видно, что надо скобочки вокруг !std::is_void_v<T> в обоих случаях и тогда оба метода компилируются (если это методы шаблонного класса, конечно).
The expression must have one of the following forms:
A primary expression, e.g. Swappable, std::is_integral::value, (std::is_object_v && ...), or any parenthesized expression.
A sequence of primary expressions joined with the operator &&.
A sequence of aforementioned expressions joined with the operator ||.
Wataru,
13 строчка в BindableObject: Ref<void> DataContext;
На скобочки у меня обычно ругается если 2 операнда, а не один. Тут нет ошибок с ними.
P.S. Вы наверно не так поняли но второй метод не выдает ошибок.