0
我正在用提升精神編寫一個簡單的計算器。執行部門操作員
我希望劃分運算符在遇到零分母時拋出異常。
我沿着
term =
factor [qi::_val = qi::_1]
>> *(('*' >> factor [qi::_val *= qi::_1])
|
('/' >> factor
[qi::_val = boost::phoenix::if_else(
qi::_1,
qi::_val/qi::_1,
/*ToDo some exception actor here*/)
])...
但是線條的思維,這是有道理的,除了演員不僅要懶擲「除數爲零」,但它也必須有一個隱含的返回類型與qi::_val
兼容。這就是我卡住的地方。在這裏我可以使用phoenix中的某些東西,還是需要綁定到手動編碼的函數?
謝謝Batsheba。你和sehe似乎擅長這個東西。我發現助推文檔很難閱讀。 –