This should fix compilation in clang

ctassert<false> was evaluated in template function (probably due to two-phase name lookup?). Change it to ctassert<sizeof(typename)==0) so evaluation is delayed until actual template function instantiation.