Почему ругается компилятор на булевую функцию?
Ну как бы идентификатор true необъявлен
сделайте #include <stdbool.h>
либо#define true 1
#define false 0
Хотелось бы узнать в чем проблема
Судя по всему в том, что код был скомпилирован как C а не как C++.