-1

我正在尝试创建一个映射,它将字符串向量设置为键,将字符串设置为值,但它一直给我这个错误:

invalid operands to binary expression
    ('constant Vector.....' and 'constant Vector....) 

请问有什么想法吗?

4

1 回答 1

1

它们的编写方式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;
    }
}
于 2013-10-13T10:27:43.327 回答