Привет. Есть два типа определенные одинаково:
typedef std::vector<int> ElementId;
typedef std::vector<int> LogicalId;
Есть функция, принимающая один из них:
void func(ElementId& id)
{
}
Получается что такой вызов прокатывает без предупреждения:
LogicalId logical_id;
func(logical_id);
Возможно ли сделать так, чтобы такое не компилилось, или хотя бы компилилось с предупреждением?