The code declares a pointer in line 10, but doesn't use pointer notation to access it
TreeNode* newNode = new TreeNode(arr[mid]);
newNode.left = createMinBST(arr, start, mid - 1); // Should be newNode->left
newNode.right = createMinBST(arr, mid + 1, end); // Should be newNode->right