我正在尝试创建一个映射,它将字符串向量设置为键,将字符串设置为值,但它一直给我这个错误:
invalid operands to binary expression
('constant Vector.....' and 'constant Vector....)
请问有什么想法吗?
它们的编写方式Vector<string>
表明它是一个自定义类。这个类需要一个operator<
可以用作Map's
键,但可能没有。您需要添加
bool operator<( const Vector<string>& lhs, const Vector<string>& rhs )
{
int pos = 0;
while( true ) {
if( pos == lhs.size() && pos == rhs.size() ) return false;
if( pos == lhs.size() ) return true;
if( pos == rhs.size() ) return false;
if( lhs[ pos ] < rhs[ pos ] ) return true;
if( rhs[ pos ] < lhs[ pos ] ) return false;
++pos;
}
}