C++ Error: 'no match for operator<...'

C++ Error: 'no match for operator<...'

我一直在尝试创建一个密码生成器。该程序应该接受输入,并输出所有可能的字符组合(没有武力的蛮力)。我遇到此错误:错误:'i <= pear'

中的 'operator<=' 不匹配

我不知道该怎么办。但是,这是代码。如果我还搞砸了其他任何事情,请告诉我,但所描述的错误是目前的主要问题:

#include <iostream>
#include <string>

using namespace std;

void generate() {
    int i=0;
    string pass;
    string r;
    string pear;
    for(i=0; i <= pear; i++) {
        pear = pass;
            r = pass[i];
}


    return r;
}

int main() {
    int i;
    string apple;
    cin >> apple;
    generate(apple,i);
    cout << apple;
}
//...    
generate(apple,i);
//...

您必须在函数签名中指定参数 'generate',例如:

void generate( string apple, int it ) {

错误:

size_t i;
//...
for(i=0; i <= pear.length(); i++) {
   //logic here?!
}

您使用以下方法将元素添加到字符串:

string.push_back( 'a' );