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

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

Войти
Регистрация
Восстановить пароль
 
defetex
2 / 2 / 1
Регистрация: 08.03.2014
Сообщений: 48
#1

Error C2664: std::vector<_Ty>::push: невозможно преобразовать параметр 1 из 'double' в 'const std::string &' - C++

06.04.2014, 17:16. Просмотров 1130. Ответов 1
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <iostream>
#include <stack>
#include <sstream>
#include <string>
 
using namespace std;
 
int main()
{
string line;
stack<???> stack; //????
while (getline(cin, line)) {
       stringstream expression(line);
       string token;
       while (expression >> token) {
             if (isdigit(token[0])) {
                  stack.push(atof(token.data()));
                } else if (token == "+") { 
                            double x = stack.pop(); //??
                            double y = stack.pop();//??
                            stack.push(y + x);
                           }
               }
       cout << stack.peek();
     }
}
Как можно исправить код?
Ошибки:
error C2664: std::vector<_Ty>::push: невозможно преобразовать параметр 1 из 'double' в 'const std::string &'
1> with
1> [
1> _Ty=std::string
1> ]
1> Причина: невозможно преобразовать 'double' в 'const std::string'
1> Для выполнения данного преобразования нет доступного оператора преобразования, определенного пользователем, или вызов оператора невозможен
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.04.2014, 17:16
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Error C2664: std::vector<_Ty>::push: невозможно преобразовать параметр 1 из 'double' в 'const std::string &' (C++):

Error C2664: Client::First: невозможно преобразовать параметр 1 из "std::queue<_Ty>" в "std::queue<_Ty> &" - C++
barbershop.h: #ifndef __BARBERSHOP_H__ #define __BARBERSHOP_H__ #include &lt;vector&gt; #include &lt;queue&gt; #include &quot;wantshaircut.h&quot; ...

Error C2440: =: невозможно преобразовать 'std::string' в 'double' - C++
&gt;c:\users\nreshetova\documents\visual studio 2008\projects\sort3d1\sort3d1\sort3d1.cpp(73) : error C2440: =: невозможно преобразовать...

Error C2440 std::vector<_Ty> - C++
класс CFilename class CFilename { public: CFilename() { } CFilename(const char* pFilename) { m_sRaw = pFilename; } ...

На основе исходного std::vector<std::string> содержащего числа, создать std::vector<int> с этими же числами - C++
подскажите есть вот такая задача. Есть список . Создать второй список, в котором будут все эти же числа, но не в виде строк, а в виде...

Error C2039: 'Sth' : is not a member of 'std::vector<_Ty>' - C++
#include &lt;iostream&gt; #include &lt;vector&gt; using std::cin; using std::cout; using std::endl; using namespace std; struct...

Error C2664: sprintf: невозможно преобразовать параметр 1 из 'const char *' в 'char *' - C++
error C2664: sprintf: невозможно преобразовать параметр 1 из 'const char *' в 'char *' void crpost(const statep &amp;struc1) { ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
zitxbit
Master C/C++
88 / 740 / 75
Регистрация: 11.04.2012
Сообщений: 971
06.04.2014, 17:21 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <iostream>
#include <stack>
#include <sstream>
#include <string>
 
using namespace std;
 
int main()
{
string line;
stack<double> stack;
while (getline(cin, line)) {
       stringstream expression(line);
       string token;
       while (expression >> token) {
             if (isdigit(token[0])) {
                  stack.push(atof(token.data()));
                } else if (token == "+") { 
                            double x = stack.top();
                            stack.pop();
                            double y = stack.top();
                            stack.pop();
                            stack.push(y + x);
                           }
               }
       // cout << stack.peek(); ????????
     }
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.04.2014, 17:21
Привет! Вот еще темы с ответами:

ошибка error: cannot convert 'std::string {aka std::basic_string<char>}' to 'std::string* {aka std::basic_stri - C++
на вод поступают 2 строки типа string. определить количество вхождений строки 2 в строку 1 ошибка error: cannot convert 'std::string {aka...

Error C2664: RegisterClassW: невозможно преобразовать параметр 1 из "WNDCLASSEX *" в "const WNDCLASSW *" - C++
почему выдаёт ошибку? int RegClass(WNDPROC Proc,LPCTSTR szName,UINT brBackground){ WNDCLASSEX wc; ...

error C2664:невозможно преобразовать параметр - C++
/*************************************************** * Программа: Квадратный трехчлен * * Лаб. работа: 5 ...

error C2664: невозможно преобразовать параметр - C++
Здравствуйте. Отправьте меня если что в другую тему, где это обсуждалось, но я не понимаю, в чем собственно дело void grouping(int n,...


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

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

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