Здравствуйте, koenjihyakkei, Вы писали:
K>Привет!
K>Есть примерно такая функция(реальная больше):
K>K>void DoWork(Obj* obj, int num, void (*func)(Obj*))
K>{
K> func(obj->GetChild());
K>}
K>
K>Она будет вызываться как для константного obj, так и нет.
K>Так вот вопрос: можно ли это сделать без перегрузки функции? Не хочется дублировать код.
Шаблонный вариант не подойдет? Оно заодно даст возможность использовать функциональные объекты и лябмды:
https://ideone.com/dHJdbp
template <typename F>
void DoWork(Obj* obj, int num, F&& func)
{
func(obj->GetChild());
}