Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
intern
15 / 15 / 6
Регистрация: 30.03.2014
Сообщений: 74
Завершенные тесты: 2
#1

Не работает stoi(str1[1]) - C++

03.06.2014, 14:28. Просмотров 508. Ответов 2
Метки нет (Все метки)

Почему не компилируется код:
C++
1
2
string str1 = "12345";
сout << "stoi(str1[1])\t" << stoi(str1[1])*3 << endl;
Кликните здесь для просмотра всего текста

error: call of overloaded 'stoi(char&)' is ambiguous
note: candidates are:
note: int std::stoi(const string&, std::size_t*, int) <near match>
note: no known conversion for argument 1 from 'char' to 'const string& {aka const std::basic_string<char>&}'
note: int std::stoi(const wstring&, std::size_t*, int) <near match>
note: no known conversion for argument 1 from 'char' to 'const wstring& {aka const std::basic_string<wchar_t>&}'

А этот код работает:
C++
1
2
3
4
5
string str1 = "12345";
string str2;
 
str2 = str1[1];
cout << "stoi(str2)\t" << stoi(str2)*3 << endl;
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.06.2014, 14:28
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Не работает stoi(str1[1]) (C++):

Функцию, которая получает два параметра str1 и str2 типа string и возвращает позицию начала последнего появления str2 в str1 - C++
Напишите функцию rightposition, которая получает два параметра str1 и str2 типа string и возвращает позицию начала последнего появления...

Заменить все вхождения str1 на str2 (str1 вводится из файла, а str2 - с клавиатуры) - C++
заменить все вхождения подстроки str1 на подстроку str2; строка str1 вводится из файла, а строка str2 с клавиатуры {Ha C++}

Stoi was not declared in this scope - C++
Добрый день, подскажите, пожалуйста, запускаю программу и выдает ошибку &quot;stoi was not declared in this scope&quot;. Не подскажите, в чем может...

Исправить std::stoi - C++
std::stoi вызывает ошибку если подать неверную строку (не число) atoi просто 0 вернет если строка не правильная Можно ли как-то...

All_of и stoi не члены std? - C++
#include &lt;iostream&gt; #include &lt;string&gt; #include &lt;algorithm&gt; //std::all_of #include &lt;stdlib.h&gt; //atoi void menu(){ ...

Написать и протестировать функцию STR_CMP(str1,str2) - C++
добрый день... очень нужна помощь... Написать и протестировать функцию STR_CMP(str1,str2), которая сравнивает строки str1 и str2....

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Кудаив
329 / 406 / 24
Регистрация: 27.05.2012
Сообщений: 1,168
Завершенные тесты: 2
03.06.2014, 14:33 #2
stoi принимает const string& или const wstring& а operator[] для string возвращает char& или const char&
zss
Модератор
Эксперт С++
6358 / 5922 / 1920
Регистрация: 18.12.2011
Сообщений: 15,220
Завершенные тесты: 1
03.06.2014, 15:15 #3
Цитата Сообщение от intern Посмотреть сообщение
stoi(str1[1])
str1[1] - это вторая буква (т.е '2').
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.06.2014, 15:15
Привет! Вот еще темы с ответами:

Заменить в строке все вхождения подстроки str1 на подстроку str2 - C++
Заменить в строке все вхождения подстроки strl на подстроку str2.

Функция определяющая наличие символов строки str2 в строке str1 - C++
Написать и протестировать функцию STRS(str1, str2), которая определяет, встретился ли в строке str1 какой-нибудь символ из строки str2.

Функция: проверить, является ли строка str1 подстрокой строки str2 - C++
Доброго времени суток) кому не составит большого труда, прошу помочь с заданием) Написать функцию ISSUBSTR(str1,str2), которая выясняет,...

Заменить в строке все вхождения подстроки str1 на подстроку str2 - C++
заменить в строке все вхождения подстроки str1 на подстроку str2


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru