【发布时间】:2012-10-14 18:23:17
【问题描述】:
我刚刚升级了一个名为 RogueWave 的第三方库,用于数据库功能。
但是,我遇到了一个非常愚蠢的编译错误,我不太确定它在抱怨什么:
typedef std::set< EVBusCalOverride > OverrideSet;
OverrideSet overrides;
OverrideSet::iterator itor = this->overrides.begin( );
while( itor != this->overrides.end( ) )
我在迭代器初始化行收到错误提示
An object or reference of type "std::set<EVBusCalOverride,std::less<EVBusCalOverride>,std::allocator<EVBusCalOverride> >::iterator"
cannot be initialized with an rvalue of type "std::_Tree<std::_Tset_traits<EVBusCalOverride,std::less<EVBusCalOverride>,std::allocator<EVBusCalOverride>,0> >::const_iterator".
而EVBusCalOverride 只是一个类
class EVBusCalOverride
{
private:
RWDate overrideDate;
bool businessDay;
};
RWDate 是属于 RogueWave 库的日期类型变量。
我不确定这对迭代器初始化有何影响。任何人都可以指出可能导致这种情况的正确方向吗?
【问题讨论】:
标签: c++ aix rogue-wave