У меня есть две функции:
void DoSomething( const tchar* apsValue )
void DoSomething( size_t aiValue )
Теперь я хочу передать '0' в качестве size_t:
DoSomething(0);
Компилятор выдает ошибку:« неоднозначный вызов перегруженной функции "
Чтобы решить эту проблему, я могу использовать static_cast, например:
DoSomething(static_cast<size_t>(0));
Или просто:
DoSomething(size_t(0));
Один из них лучше другого? Есть ли другие подходы для решения этой проблемы?