modes_[pos].variance = (sigmanew < 4) ? (4) : sigmanew > 5 * variance_ : sigmanew;
我在模板類的模板化函數中有一行。該行中的尖括號被解釋爲數據類型定義,並且正在拋出錯誤。我如何解決這個問題?尖括號被解釋爲模板函數中的模板類型
錯誤是:
/(foldername)/(part_filename)_templated_impl.tpp:312:89: error: found ':' in nested-name-specifier, expected '::'
/(foldername)/(part_filename)_templated_impl.tpp:312:79: error: 'variance_' is not a class or namespace
您的意思是用'?'而不是'*'?如:'sigmanew> 5? variance_:sigmanew'? – 2013-04-09 21:52:54
@DavidRodríguez-dribeas看起來像。嵌套的三元運算符是可怕的。沒有括號的嵌套三元運算符表示更加糟糕。 – 2013-04-09 21:54:08
@DavidRodríguez-dribeas--對於OP的問題看起來很不錯。我在答覆中添加了它作爲建議 - 感謝您的良好洞察力! – 2013-04-09 21:55:14