控制到达非void函数的结束[-Werror = return-type](只是一个简单的判断)

时间:2016-06-18 20:43:59

标签: c++ return-type

struct node{
    TreeNode *SubNode;
    int depth;
};
int minDepth(TreeNode* root){
    queue<node> q;
    if(root == NULL)
        return 0;
    node cur = {root, 1};
    q.push(cur);
    while(!q.empty()){
        node temp = q.front();
        q.pop();
        if(temp.SubNode->left == NULL && temp.SubNode->right == NULL)
            return temp.depth;
        if(temp.SubNode->left){
            node temp_ = {temp.SubNode->left, temp.depth+1};
            q.push(temp_);
        }
        if(temp.SubNode->right){
            node temp_ = {temp.SubNode->right, temp.depth+1};
            q.push(temp_);
        }
    }
}

代码是关于Leetcode的最小深度二叉树 顺便问一下。这个错误意味着什么? 无回报?
但我有回报。为什么显示这个错误?

1 个答案:

答案 0 :(得分:0)

简短回答:minDepth()应该返回int,但是例如,如果while()循环结束则不会。