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

Возникает ошибка - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 17, средняя оценка - 5.00
Egor138
 Аватар для Egor138
30 / 11 / 2
Регистрация: 10.08.2012
Сообщений: 619
Записей в блоге: 2
15.08.2012, 11:55     Возникает ошибка #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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
1>------ Построение начато: проект: Function+, Конфигурация: Debug Win32 ------
1>Компиляция...
1>Function+.cpp
1>c:\users\егор\desktop\function+\function+\function+.cpp(61) : warning C4996: 'getche': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _getche. See online help for details.
1>        c:\program files (x86)\microsoft visual studio 9.0\vc\include\conio.h(146): см. объявление 'getche'
1>c:\users\егор\desktop\function+\function+\function+.cpp(25) : error C2079: "ss" использует неопределенный class "std::basic_stringstream<_Elem,_Traits,_Alloc>"
1>        with
1>        [
1>            _Elem=char,
1>            _Traits=std::char_traits<char>,
1>            _Alloc=std::allocator<char>
1>        ]
1>        c:\users\егор\desktop\function+\function+\function+.cpp(44): см. ссылку на создание экземпляров функции шаблон при компиляции "std::string numberToString<std::string>(T)"
1>        with
1>        [
1>            T=std::string
1>        ]
1>c:\users\егор\desktop\function+\function+\function+.cpp(26) : error C2784: std::basic_ostream<_Elem,_Traits> &std::operator <<(std::basic_ostream<_Elem,_Traits> &,const std::basic_string<_Elem,_Traits,_Alloc> &): не удалось вывести аргумент шаблон для "std::basic_ostream<_Elem,_Traits> &" из "int"
1>        c:\program files (x86)\microsoft visual studio 9.0\vc\include\string(537): см. объявление 'std::operator <<'
1>c:\users\егор\desktop\function+\function+\function+.cpp(26) : error C2784: std::basic_ostream<char,_Traits> &std::operator <<(std::basic_ostream<char,_Traits> &,unsigned char): не удалось вывести аргумент шаблон для "std::basic_ostream<char,_Traits> &" из "int"
1>        c:\program files (x86)\microsoft visual studio 9.0\vc\include\ostream(930): см. объявление 'std::operator <<'
1>c:\users\егор\desktop\function+\function+\function+.cpp(26) : error C2784: std::basic_ostream<char,_Traits> &std::operator <<(std::basic_ostream<char,_Traits> &,const unsigned char *): не удалось вывести аргумент шаблон для "std::basic_ostream<char,_Traits> &" из "int"
1>        c:\program files (x86)\microsoft visual studio 9.0\vc\include\ostream(923): см. объявление 'std::operator <<'
1>c:\users\егор\desktop\function+\function+\function+.cpp(26) : error C2784: std::basic_ostream<char,_Traits> &std::operator <<(std::basic_ostream<char,_Traits> &,signed char): не удалось вывести аргумент шаблон для "std::basic_ostream<char,_Traits> &" из "int"
1>        c:\program files (x86)\microsoft visual studio 9.0\vc\include\ostream(916): см. объявление 'std::operator <<'
1>c:\users\егор\desktop\function+\function+\function+.cpp(26) : error C2784: std::basic_ostream<char,_Traits> &std::operator <<(std::basic_ostream<char,_Traits> &,const signed char *): не удалось вывести аргумент шаблон для "std::basic_ostream<char,_Traits> &" из "int"
1>        c:\program files (x86)\microsoft visual studio 9.0\vc\include\ostream(909): см. объявление 'std::operator <<'
1>c:\users\егор\desktop\function+\function+\function+.cpp(26) : error C2784: std::basic_ostream<_Elem,_Traits> &std::operator <<(std::basic_ostream<_Elem,_Traits> &,_Elem): не удалось вывести аргумент шаблон для "std::basic_ostream<_Elem,_Traits> &" из "int"
1>        c:\program files (x86)\microsoft visual studio 9.0\vc\include\ostream(871): см. объявление 'std::operator <<'
1>c:\users\егор\desktop\function+\function+\function+.cpp(26) : error C2784: std::basic_ostream<_Elem,_Traits> &std::operator <<(std::basic_ostream<_Elem,_Traits> &,const _Elem *): не удалось вывести аргумент шаблон для "std::basic_ostream<_Elem,_Traits> &" из "int"
1>        c:\program files (x86)\microsoft visual studio 9.0\vc\include\ostream(825): см. объявление 'std::operator <<'
1>c:\users\егор\desktop\function+\function+\function+.cpp(26) : error C2784: std::basic_ostream<char,_Traits> &std::operator <<(std::basic_ostream<char,_Traits> &,char): не удалось вывести аргумент шаблон для "std::basic_ostream<char,_Traits> &" из "int"
1>        c:\program files (x86)\microsoft visual studio 9.0\vc\include\ostream(785): см. объявление 'std::operator <<'
1>c:\users\егор\desktop\function+\function+\function+.cpp(26) : error C2784: std::basic_ostream<char,_Traits> &std::operator <<(std::basic_ostream<char,_Traits> &,const char *): не удалось вывести аргумент шаблон для "std::basic_ostream<char,_Traits> &" из "int"
1>        c:\program files (x86)\microsoft visual studio 9.0\vc\include\ostream(738): см. объявление 'std::operator <<'
1>c:\users\егор\desktop\function+\function+\function+.cpp(26) : error C2784: std::basic_ostream<_Elem,_Traits> &std::operator <<(std::basic_ostream<_Elem,_Traits> &,char): не удалось вывести аргумент шаблон для "std::basic_ostream<_Elem,_Traits> &" из "int"
1>        c:\program files (x86)\microsoft visual studio 9.0\vc\include\ostream(700): см. объявление 'std::operator <<'
1>c:\users\егор\desktop\function+\function+\function+.cpp(26) : error C2784: std::basic_ostream<_Elem,_Traits> &std::operator <<(std::basic_ostream<_Elem,_Traits> &,const char *): не удалось вывести аргумент шаблон для "std::basic_ostream<_Elem,_Traits> &" из "int"
1>        c:\program files (x86)\microsoft visual studio 9.0\vc\include\ostream(653): см. объявление 'std::operator <<'
1>c:\users\егор\desktop\function+\function+\function+.cpp(26) : error C2677: бинарный '<<': не найден глобальный оператор, принимающий тип 'std::string' (или приемлемое преобразование отсутствует)
1>c:\users\егор\desktop\function+\function+\function+.cpp(27) : error C2784: std::basic_istream<_Elem,_Traits> &std::operator >>(std::basic_istream<_Elem,_Traits> &,std::basic_string<_Elem,_Traits,_Alloc> &): не удалось вывести аргумент шаблон для "std::basic_istream<_Elem,_Traits> &" из "int"
1>        c:\program files (x86)\microsoft visual studio 9.0\vc\include\string(424): см. объявление 'std::operator >>'
1>c:\users\егор\desktop\function+\function+\function+.cpp(27) : error C2784: std::basic_istream<char,_Traits> &std::operator >>(std::basic_istream<char,_Traits> &,unsigned char &): не удалось вывести аргумент шаблон для "std::basic_istream<char,_Traits> &" из "int"
1>        c:\program files (x86)\microsoft visual studio 9.0\vc\include\istream(1021): см. объявление 'std::operator >>'
1>c:\users\егор\desktop\function+\function+\function+.cpp(27) : error C2784: std::basic_istream<char,_Traits> &std::operator >>(std::basic_istream<char,_Traits> &,unsigned char *): не удалось вывести аргумент шаблон для "std::basic_istream<char,_Traits> &" из "int"
1>        c:\program files (x86)\microsoft visual studio 9.0\vc\include\istream(1014): см. объявление 'std::operator >>'
1>c:\users\егор\desktop\function+\function+\function+.cpp(27) : error C2784: std::basic_istream<char,_Traits> &std::operator >>(std::basic_istream<char,_Traits> &,signed char &): не удалось вывести аргумент шаблон для "std::basic_istream<char,_Traits> &" из "int"
1>        c:\program files (x86)\microsoft visual studio 9.0\vc\include\istream(1007): см. объявление 'std::operator >>'
1>c:\users\егор\desktop\function+\function+\function+.cpp(27) : error C2784: std::basic_istream<char,_Traits> &std::operator >>(std::basic_istream<char,_Traits> &,signed char *): не удалось вывести аргумент шаблон для "std::basic_istream<char,_Traits> &" из "int"
1>        c:\program files (x86)\microsoft visual studio 9.0\vc\include\istream(1000): см. объявление 'std::operator >>'
1>c:\users\егор\desktop\function+\function+\function+.cpp(27) : error C2784: std::basic_istream<_Elem,_Traits> &std::operator >>(std::basic_istream<_Elem,_Traits> &,_Elem &): не удалось вывести аргумент шаблон для "std::basic_istream<_Elem,_Traits> &" из "int"
1>        c:\program files (x86)\microsoft visual studio 9.0\vc\include\istream(975): см. объявление 'std::operator >>'
1>c:\users\егор\desktop\function+\function+\function+.cpp(27) : error C2784: std::basic_istream<_Elem,_Traits> &std::operator >>(std::basic_istream<_Elem,_Traits> &,_Elem *): не удалось вывести аргумент шаблон для "std::basic_istream<_Elem,_Traits> &" из "int"
1>        c:\program files (x86)\microsoft visual studio 9.0\vc\include\istream(934): см. объявление 'std::operator >>'
1>c:\users\егор\desktop\function+\function+\function+.cpp(27) : error C2677: бинарный '>>': не найден глобальный оператор, принимающий тип 'std::string' (или приемлемое преобразование отсутствует)
1>Журнал построения был сохранен в "file://c:\Users\Егор\Desktop\Function+\Function+\Debug\BuildLog.htm"
1>Function+ - ошибок 21, предупреждений 1
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========

вот код:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
template <class T>
string numberToString(T val) //преобразует число в string
{
    string str;
    stringstream ss;
    ss<<val;
    ss>>str;
    return str;
}
 
 
int main()
{
int x;
numberToString(x);
getche();
}
Подскажите пожалуйста ошибку
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
DU
1477 / 1053 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
15.08.2012, 12:05     Возникает ошибка #2
все нужные инклуды присутствуют?
<sstream>
<string>
Egor138
 Аватар для Egor138
30 / 11 / 2
Регистрация: 10.08.2012
Сообщений: 619
Записей в блоге: 2
15.08.2012, 12:14  [ТС]     Возникает ошибка #3
Цитата Сообщение от DU Посмотреть сообщение
все нужные инклуды присутствуют?
<sstream>
<string>
<sstream> нет

Добавлено через 2 минуты
Теперь все компилируется нормально но при запуске выходит окно:

Необработанное исключение в "0x745b7945" в "Function+.exe": Исключение Microsoft C++: std::bad_alloc по адресу 0x009bee30..
DiffEreD
 Аватар для DiffEreD
1420 / 757 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
15.08.2012, 14:16     Возникает ошибка #4
Egor138, попробуйте воспользоваться вместе этого шаблона новой ф-цией из С++11 - to_string():
C++
1
2
3
4
long long ll = 1234567890;
std::cout << "Number: " << ll << std::endl;
std::string s = std::to_string(ll);
std::cout << "String: " << s << std::endl;
Yandex
Объявления
15.08.2012, 14:16     Возникает ошибка
Ответ Создать тему
Опции темы

Текущее время: 12:30. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru