我有以下代码
Parameters[FilterMorph] = new KnobCtr(processorEditor)->SetId("FilterMorph")->SetBounds(100, 100)->AddAttachment();
错误消息是:
Error C2143 syntax error: missing ';' before '->'
但如果我这样做
KnobCtr * ctr = new KnobCtr(processorEditor);
Parameters[FilterMorph] = ctr->SetId("FilterMorph")->SetBounds(100, 100)->AddAttachment();
一切都很好
为什么会这样呢?
参数是指针映射
答案 0 :(得分:6)
这是因为operator precedence,您需要在new
周围添加一个括号:
Parameters[FilterMorph] = (new KnobCtr(processorEditor))->SetId("FilterMorph")->SetBounds(100, 100)->AddAttachment();