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

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

Войти
Регистрация
Восстановить пароль
 
 
Oleg_Brovko
8 / 8 / 1
Регистрация: 07.03.2012
Сообщений: 57
#1

Ошибка cout<<< - C++

23.01.2013, 16:51. Просмотров 1176. Ответов 19
Метки нет (Все метки)

Не пойму в чем проблема... во втором cout<< ошибку выдает. Кто-то может дать объяснить почему?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
 
using namespace std;
 
template <class T>
T div(T x, T y) 
{
    return x/y;
}
 
int main()
{
    cout<<div(5.0, 3.0)<<endl;
    cout<<div(5, 3)<<endl;
 
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.01.2013, 16:51
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ошибка cout<<< (C++):

Cout <<endl; Что это значит? Если ничего нету в cout? - C++
Здравствуйте ! Обьясните пожалуйста что значит cout &lt;&lt;endl; если он используется после цикла for?

Ошибка на cout и cin - C++
немогу понять в чем ошибка, есть код программы, вроде бы все правильно написано, но возможно я где-то допустил ошибку, но почему-то в упор...

Ошибка компиляции cout - C++
Подскажите пожайлуста где в этой программе ошибка: //Программа расчета суммы на депозите #include&lt;iostream&gt; #include&lt;iomanip.h&gt; ...

Подскажите почему после первого cout программа не останавливается для ввода строки, а выводит второй cout - C++
Подскажите почему после первого cout программа не останавливается для ввода строки, а выводит второй cout. Это фрагмент со структурами: ...

В чем разница std::cout и просто cout? - C++
Ребят ,подскажите на простом языке для чайников . В чем разница std::cout и просто cout?

Странная ошибка (зависимость от cout) - C++
Всем Доброго Времени Суток! В процедуру единицы трансляции передаются по указателю три массива (заданные в исполняемом файле через new)....

19
ValeryS
Модератор
6676 / 5085 / 475
Регистрация: 14.02.2011
Сообщений: 17,061
23.01.2013, 16:52 #2
Цитата Сообщение от Oleg_Brovko Посмотреть сообщение
ошибку выдает
какую?
0
Oleg_Brovko
8 / 8 / 1
Регистрация: 07.03.2012
Сообщений: 57
23.01.2013, 16:53  [ТС] #3
Ошибки такие:
Кликните здесь для просмотра всего текста
1>------ Build started: Project: STL_templateFunctions, Configuration: Debug Win32 ------
1> main.cpp
1>d:\progects\с++\2013\stl_ammeral\stl_templatefunctions\stl_templatefunctions\main.cpp(14): error C2679: binary '<<' : no operator found which takes a right-hand operand of type 'div_t' (or there is no acceptable conversion)
1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\ostream(679): could be 'std::basic_ostream<_Elem,_Traits> &std::operator <<<char,std::char_traits<char>>(std::basic_ostream<_Elem,_Traits> &,const char *)'
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\ostream(726): or 'std::basic_ostream<_Elem,_Traits> &std::operator <<<char,std::char_traits<char>>(std::basic_ostream<_Elem,_Traits> &,char)'
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\ostream(764): or 'std::basic_ostream<_Elem,_Traits> &std::operator <<<std::char_traits<char>>(std::basic_ostream<_Elem,_Traits> &,const char *)'
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\ostream(811): or 'std::basic_ostream<_Elem,_Traits> &std::operator <<<std::char_traits<char>>(std::basic_ostream<_Elem,_Traits> &,char)'
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\ostream(937): or 'std::basic_ostream<_Elem,_Traits> &std::operator <<<std::char_traits<char>>(std::basic_ostream<_Elem,_Traits> &,const signed char *)'
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\ostream(944): or 'std::basic_ostream<_Elem,_Traits> &std::operator <<<std::char_traits<char>>(std::basic_ostream<_Elem,_Traits> &,signed char)'
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\ostream(951): or 'std::basic_ostream<_Elem,_Traits> &std::operator <<<std::char_traits<char>>(std::basic_ostream<_Elem,_Traits> &,const unsigned char *)'
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\ostream(958): or 'std::basic_ostream<_Elem,_Traits> &std::operator <<<std::char_traits<char>>(std::basic_ostream<_Elem,_Traits> &,unsigned char)'
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\ostream(968): or 'std::basic_ostream<_Elem,_Traits> &std::operator <<<char,std::char_traits<char>,div_t>(std::basic_ostream<_Elem,_Traits> &&,_Ty)'
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>,
1> _Ty=div_t
1> ]
1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\ostream(1085): or 'std::basic_ostream<_Elem,_Traits> &std::operator <<<char,std::char_traits<char>>(std::basic_ostream<_Elem,_Traits> &,const std::error_code &)'
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\ostream(186): or 'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(std::basic_ostream<_Elem,_Traits> &(__cdecl *)(std::basic_ostream<_Elem,_Traits> &))'
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\ostream(192): or 'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(std::basic_ios<_Elem,_Traits> &(__cdecl *)(std::basic_ios<_Elem,_Traits> &))'
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\ostream(199): or 'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(std::ios_base &(__cdecl *)(std::ios_base &))'
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\ostream(206): or 'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(std::_Bool)'
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\ostream(226): or 'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(short)'
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\ostream(260): or 'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(unsigned short)'
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\ostream(280): or 'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(int)'
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\ostream(305): or 'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(unsigned int)'
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\ostream(325): or 'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(long)'
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\ostream(345): or 'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(unsigned long)'
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\ostream(366): or 'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(__int64)'
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\ostream(386): or 'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(unsigned __int64)'
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\ostream(407): or 'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(float)'
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\ostream(427): or 'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(double)'
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\ostream(447): or 'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(long double)'
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\ostream(467): or 'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(const void *)'
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\ostream(487): or 'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(std::basic_streambuf<_Elem,_Traits> *)'
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> while trying to match the argument list '(std::ostream, div_t)'
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
0
The_bolT
70 / 70 / 1
Регистрация: 22.01.2013
Сообщений: 231
23.01.2013, 16:53 #4
вот так ошибки не будет:
C++
1
cout<<div(5., 3.)<<endl;
0
MrGluck
Модератор
Эксперт CЭксперт С++
7418 / 4533 / 673
Регистрация: 29.11.2010
Сообщений: 12,299
23.01.2013, 16:53 #5
оно не знает, чем точно являются 5 и 3
C++
1
cout<<div<int>(5, 3)<<endl;
1
Oleg_Brovko
8 / 8 / 1
Регистрация: 07.03.2012
Сообщений: 57
23.01.2013, 16:57  [ТС] #6
ОООО! Стоило лишь прочитать ошибку. Извините за глупость!

Добавлено через 3 минуты
А вот так работает. Хм... интересно

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
 
using namespace std;
 
template <class T>
T d(T x, T y) 
{
    return x/y;
}
 
int main()
{
    cout<<d(5.0, 3.0)<<endl;
    cout<<d(5, 3)<<endl;
 
    return 0;
}
0
ValeryS
Модератор
6676 / 5085 / 475
Регистрация: 14.02.2011
Сообщений: 17,061
23.01.2013, 17:01 #7
Ну и зачем ты всю портянку привел??
он же ясно пишет
Цитата Сообщение от Oleg_Brovko Посмотреть сообщение
error C2679: binary '<<' : no operator found which takes a right-hand operand of type 'div_t' (or there is no acceptable conversion)
Ошибка C2679: бинарный '<<': не найден оператор, который принимает правый операнд типа 'div_t "(или нет приемлемого преобразования)
т.е он не знает что за тип у 5, 3
то ли int, то ли char, то ли еще что
0
Oleg_Brovko
8 / 8 / 1
Регистрация: 07.03.2012
Сообщений: 57
23.01.2013, 17:04  [ТС] #8
Цитата Сообщение от ValeryS Посмотреть сообщение
Ну и зачем ты всю портянку привел??
он же ясно пишет



т.е он не знает что за тип у 5, 3
то ли int, то ли char, то ли еще что
Ок. А почему, когда я поменял название функции, ошибка пропала? Извините, если спрашиваю тривиальные вещи.
0
ValeryS
Модератор
6676 / 5085 / 475
Регистрация: 14.02.2011
Сообщений: 17,061
23.01.2013, 17:05 #9
Цитата Сообщение от Oleg_Brovko Посмотреть сообщение
А вот так работает.
чето не уловил
В чем разница
0
Schizorb
509 / 461 / 16
Регистрация: 07.04.2012
Сообщений: 865
Записей в блоге: 1
Завершенные тесты: 1
23.01.2013, 17:06 #10
Цитата Сообщение от ValeryS Посмотреть сообщение
т.е он не знает что за тип у 5, 3
то ли int, то ли char, то ли еще что
Как он может не знать, если это 100% int? У автора, похоже, какая-то проблема с именем функции.

Oleg_Brovko, а так работает?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
 
template <class T>
T div(T x, T y) 
{
    return x/y;
}
 
int main()
{
    std::cout<<div(5.0, 3.0)<<std::endl;
    std::cout<<div(5, 3)<<std::endl;
 
    return 0;
}
0
MrGluck
Модератор
Эксперт CЭксперт С++
7418 / 4533 / 673
Регистрация: 29.11.2010
Сообщений: 12,299
23.01.2013, 17:06 #11
Oleg_Brovko, т.к. вы кидаете все функции из std в глобальные, наверняка переопределяете существующую стандартную функцию std::div.
0
ValeryS
Модератор
6676 / 5085 / 475
Регистрация: 14.02.2011
Сообщений: 17,061
23.01.2013, 17:07 #12
Цитата Сообщение от Oleg_Brovko Посмотреть сообщение
А почему, когда я поменял название функции
а все врубился
div может быть зарегистрированной функцией и вызывалась не твоя а другая
1
Oleg_Brovko
8 / 8 / 1
Регистрация: 07.03.2012
Сообщений: 57
23.01.2013, 17:07  [ТС] #13
Цитата Сообщение от ValeryS Посмотреть сообщение
чето не уловил
В чем разница
Просто название функции з div на d поменял и заработало... ???? Почему так? Не пойму.
0
ValeryS
Модератор
6676 / 5085 / 475
Регистрация: 14.02.2011
Сообщений: 17,061
23.01.2013, 17:08 #14
Цитата Сообщение от Schizorb Посмотреть сообщение
Как он может не знать, если это 100% int?
т.е char 5 быть не может?
0
Oleg_Brovko
8 / 8 / 1
Регистрация: 07.03.2012
Сообщений: 57
23.01.2013, 17:08  [ТС] #15
ValeryS, спасибо!
0
23.01.2013, 17:08
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.01.2013, 17:08
Привет! Вот еще темы с ответами:

Ошибка при работе с cin и cout - C++
Здравствуйте, задам детский вопрос: почему не работает? int d; cout &lt;&lt; &quot;Введите значение числа D: &quot;&lt;&lt; endl; cin &gt;&gt; d; // ...

Ошибка C2065 : Необъявленный идентификатор cout - C++
Здравствуйте, друзья. Сразу хочу сказать что в С++ я новичок, поэтому я немножко, это.... ну да, тупой;). В-общем, у меня возникла...

в строке cout«num[t][i]; ошибка как исправить? - C++
в строке cout«num; ошибка #include &lt;iostream&gt; using namespace std; int main() { int t,i, num; /* загрузка чисел */ ...

cout.setf и cout.precision - C++
Здравствуйте. В одной книге увидел строчку кода: cout.precision(2); cout.setf(ios::fixed, ios::floatfield); Объясните, что...


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

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

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