#include #include "uCalc.h" using namespace std; using namespace uCalcSoftware; // The head, body, callback, and callback:u tags should only be used when the code contains a callback. // There are two types of callbacks. callback:u is for error handling, while callback is for expression // functions and operators. They both close with /callback. void ucalc_call MyErrorHandler(Handle_uCalc h) { auto uc = uCalc(h); cout << "An error has occurred!" << endl; cout << "Error #: " << (int)uc.Error().Code() << endl; cout << "Error Message: " << uc.Error().Message() << endl; cout << "Error Symbol: " << uc.Error().Symbol() << endl; cout << "Error Location: " << uc.Error().Location() << endl; cout << "Error Expression: " << uc.Error().Expression() << endl; } int main() { uCalc uc; uc.Error().AddHandler(MyErrorHandler); cout << uc.EvalStr("123+") << endl; cout << "" << endl; uc.Error().TrapOnDivideByZero(true); cout << uc.EvalStr("5/0") << endl; // Note: The head and body tags do NOT come in pairs. Those tags separate sections of code. }