Используйте new/delete вместо malloc/calloc/free

Потенциальная проблема: утечка памяти.

Не выделяйте память в стиле Си через функции malloc/calloc/free. Используйте операторы new/delete.

Неправильно:

Foo* foo = (Foo*)malloc(sizeof(Foo));

Правильно:

auto foo = new Foo();