我有以下代码
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();
一切都很好
为什么会这样呢?
参数是指针映射
最佳答案
这是因为存在operator precedence,您需要在new
周围添加一个括号:
Parameters[FilterMorph] = (new KnobCtr(processorEditor))->SetId("FilterMorph")->SetBounds(100, 100)->AddAttachment();