Извините за ошибки, первый вопрос здесь. , поэтому у меня есть эта функция, где у меня есть векторный тип с именами и десятками игроков в игре, в то время как я пытаюсь сделать ранжирование стены. в этой конкретной части программы мне нужно преобразовать строку в int. строка часть на самом деле число в строке вектора и мне нужно, чтобы это было ИНТ, так что я могу сравнить его с другими числами, так вот она:Преобразование строки в int проблемы в C++
void exibir_ranking(vector<string> &ranking) //dentro do laco, procura qual o maior score, imprime ele na tela juntamente com o nome correspondente no outro vetor depois apaga o valor e o nome dos vectors
{
int k;
vector <string> nomes;
vector <int> pontuacoes;
for(int i=0;i<ranking.max_size();i++) {
if(i==0 || i%2 ==0) nomes.push_back(ranking[i]);
else if(i==1 || i%2!=0) {
int aux = atoi(ranking[i].c_str);
pontuacoes.push_back(aux);
}
}
cout << "\n\n\t\tRANKING:\n\n";
while(pontuacoes.size()!=0){
int maior =0;
for (k=0; k< pontuacoes.max_size(); k++){
if(pontuacoes[k] > maior) maior = pontuacoes[k];
}
cout << k << "- " << "Nome: " << nomes[k] << "\tScore: "<<pontuacoes[k] << endl;
nomes.erase (nomes.begin()+k);
pontuacoes.erase (pontuacoes.begin()+k);
}
cout<<"\n----------------------------";
}
так, визуальная студия говорит мне о проблема именно здесь:
else if(i==1 || i%2!=0) {
int aux = atoi(ranking[i].c_str);
pontuacoes.push_back(aux);
}
как говорит:
ошибка 4 ошибка C3867: «станд :: basic_string < _Elem, _Traits, _Alloc> :: c_str ': список вызовов отсутствующих аргументов; использовать '& станд :: basic_string < _Elem, _Traits, _Alloc> :: c_str', чтобы создать указатель на член C: \ Users \ Пользователь \ Google диск \ Mackenzie \ Projeto programacao \ Projeto \ Projeto \ jogo.cpp 247
Может ли кто-нибудь мне помочь?
Почему вы используете 'max_size()'? Просто используйте 'size()'. – 0x499602D2
'int aux = atoi (rank [i] .c_str);' - Я полагаю, вы хотели ** называть ** эту функцию-член? как 'c_str()'? –