如果未定义“”,何来解决“ else”问题?

时间:2019-04-01 11:50:44

标签: javascript

template<typename T>
class I {
public:
    I(std::function<void (T&)> f) : _func(f) {
      someManager->register(this);
    }

    void run() {
        T t;
        _func(t);
    }

private:
    std::function<void (T&)> _func;
};

static I<D> _init_(&D::doIt);

“ descrp”行出现3个错误,未定义“ descrp”

3 个答案:

答案 0 :(得分:0)

您需要定义descrp变量:

  const Desc = data.wx_code;
  let descrp = '';// default value;
  if (Desc == `0`) {
     descrp = `sunny`
  } else if (Desc == `1`) {
     descrp = `cloudy`
  } 

或将此代码提取到另一个函数:

{
  const Desc = data.wx_code;
  return {
    messages: [{text: computeDescription(Desc)}]
  }
};

function computeDescription(Desc){
  if (Desc == `0`) {
    return `sunny`
  } else if (Desc == `1`) {
    return `cloudy`
  }
  return ''; // default value
}

答案 1 :(得分:-1)

您可以在IF语句之前使用默认值对其进行定义

答案 2 :(得分:-1)

您的问题是,您尚未将descrp声明为变量。

{
  let descrp;
  const Desc = data.wx_code;
  if (Desc == `0`) {
    descrp = `sunny`
  } else if (Desc == `1`) {
    descrp = `cloudy`
  } 
  return {
    messages: [
      {text: descrp}
    ]
  }
};

这应该有效。