Ajuda strings em funções usando .size()

boa noite, equipe GUJ. Estou com um problema pertinente em meu programa e preciso de uma mãozinha aqui(totalmente clichê).

#include <iostream> #include <string> using namespase std; struct Admistrador{ string user; }; bool validaUsuarioAdmin(string uAdmin, Admistrador objetoUser){ for(int l = 0; l < objetoUser.user.size(); l++){ if (uAdmin == objetoUser.user){ return true; } } return false; } int main(){ Admnistrador objetoUser; objetoUser.user = "admin"; string uAdmin; cout << "entre com o nome do usuario\n"; cin >> uAdmin while (validaUsuarioAdmin(uAdmin, objetoUser.user) == false){ cout << "usuario ou senha incorretos, entre novamente com o usuario e senha\n"; cin >> uAdmin >> pAdmin; } cout << "bem vindo!"; }

há um problema na conversão, coisa que não sei como resolver, também estou indagando se ele realmente fará esta varredura de encontro a palavra “admin”, para passar do teste… toda informação é bem vinda. :smiley:

Use foreach creio que dara certo

tipo se vai comparar uma String percorrer ela

for( String string : user) { // faz qualquer coisa }

http://docs.oracle.com/javase/1.5.0/docs/guide/language/foreach.html

Para conversões, você pode usar algum cast dentre os apresentados aqui.
Para comparar strings, que tal usar o clássico strcmp?

Não compare String usando o ==

use equals

[]'s

Disfarça, agora que vi que o tópico é de outras linguagens e se trata de c++ e não de java…sorry

[]'s