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”
答案 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}
]
}
};
这应该有效。