以下代码在msvc上构建时没有错误,但在g++上无法编译。if(*it==listener){it=listeners.erase(it);}错误在于删除,完整代码为:voidAguiListener::removeListener(AguiWidget*listener){for(std::vector::const_iteratorit=listeners.begin();it!=listeners.end();++it){if(*it==listener){it=listeners.erase(it);}}}听众是:std::vectorlisteners;但是g++吐出大量错误
我的类(class)可以有child,所以我需要公开迭代器。渲染类需要反向迭代它们,这就是我有反向迭代器的原因。但是有没有办法减少这些,因为看起来很多:std::vector::iteratorgetChildBeginIterator();std::vector::reverse_iteratorgetChildRBeginIterator();std::vector::iteratorgetChildEndIterator();std::vector::reverse_iteratorgetChildREndIterator();std::vector::const_iterato
我的类(class)可以有child,所以我需要公开迭代器。渲染类需要反向迭代它们,这就是我有反向迭代器的原因。但是有没有办法减少这些,因为看起来很多:std::vector::iteratorgetChildBeginIterator();std::vector::reverse_iteratorgetChildRBeginIterator();std::vector::iteratorgetChildEndIterator();std::vector::reverse_iteratorgetChildREndIterator();std::vector::const_iterato