2015-08-26 4 views
-3

Я пытаюсь создать генератор паролей. Предполагается, что программа принимает входные данные и выводит все возможные комбинации символов (грубая сила без силы). Я столкнулся с этой ошибкой: ошибка: нет соответствия для оператора < = 'in' i < = pear 'Ошибка C++: «нет соответствия для оператора <...»

Я понятия не имею, что делать. Однако вот код. Пожалуйста, дайте мне знать, если я перепутались на что-нибудь еще, но ошибка описана основная проблема сейчас:

#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; 
} 
+2

'i' является int,' груша' является неустановленной строкой. Что вы ожидаете от этого? – John3136

+6

Не пытайтесь изучать C++ методом проб и ошибок, из этого ничего хорошего не получится. Вместо этого возьмите хорошую книгу. –

+2

Ненавижу звучать как хуй, но эта программа полная и полная тарабарщина. –

ответ

0
//...  
generate(apple,i); 
//... 

вы должны указать аргументы в подписи вашей функции «генерировать», как :

void generate(string apple, int it) { 

И ошибка:

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

добавления элемента в строку с помощью:

string.push_back('a'); 
Смежные вопросы