8
我有一個小問題,模板:C++模板默認構造
template <typename T>
T Func(){
std::string somestr = "";
// somestr = ...
if (somestr != ""){
return boost::lexical_cast<T>(somestr);
}
else{
T ret; // warning: "ret may be uninitialized in this function"
return ret;
}
}
如果此功能無法得到的結果,我想返回一個有效的對象,但空如可能的。如果我像上面那樣做,我會收到警告「ret可能在此函數中未初始化」。 Try-Catch並沒有幫助刪除警告..
有沒有像C#中的default
關鍵字的方式嗎?
return default(T); // C#
謝謝!
很好的答案James。 – user373215 2010-08-10 01:28:35