В С++ 11 есть ли чистый способ отключить неявное преобразование между typedefs, или вам нужно сделать что-то неприятное, как обернуть int в класс и определить и удалить различные операторы?
typedef int Foo;
typedef int Bar;
Foo foo(1);
Bar bar(2);
bar = foo; // Implicit conversion!