C++错误:'no match for operator<...'

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

本文关键字:for operator match lt no 错误 C++      更新时间:2023-10-16

我一直在尝试创建一个密码生成器。程序应该接受输入,并输出所有可能的字符组合(不使用force的蛮力)。我遇到了这个错误:错误:在' 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' );