prog.cpp:17:11: error: ‘BinaryTreeNode’ was not declared in this scope
int solve(BinaryTreeNode<int>* root, int M){
^~~~~~~~~~~~~~
prog.cpp:17:26: error: expected primary-expression before ‘int’
int solve(BinaryTreeNode<int>* root, int M){
^~~
prog.cpp:17:38: error: expected primary-expression before ‘int’
int solve(BinaryTreeNode<int>* root, int M){
^~~
prog.cpp:17:43: error: expression list treated as compound expression in initializer [-fpermissive]
int solve(BinaryTreeNode<int>* root, int M){
^