Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/47: Рейтинг темы: голосов - 47, средняя оценка - 4.55
 Аватар для Oleg_Brovko
8 / 8 / 5
Регистрация: 07.03.2012
Сообщений: 57

Ошибка cout<<<

23.01.2013, 16:51. Показов 9720. Ответов 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
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.01.2013, 16:51
Ответы с готовыми решениями:

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

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

Разница между fwrite, cout и cout.write
Привет. Пытаюсь вывести букву 'ф' в консоль Windows 7, используя кодировку UTF-8. Для этого меняю кодовую страницу консоли на CP_UTF8,...

19
Модератор
Эксперт по электронике
8979 / 6745 / 921
Регистрация: 14.02.2011
Сообщений: 23,857
23.01.2013, 16:52
Цитата Сообщение от Oleg_Brovko Посмотреть сообщение
ошибку выдает
какую?
0
 Аватар для Oleg_Brovko
8 / 8 / 5
Регистрация: 07.03.2012
Сообщений: 57
23.01.2013, 16:53  [ТС]
Ошибки такие:
Кликните здесь для просмотра всего текста
1>------ Build started: Project: STL_templateFunctions, Configuration: Debug Win32 ------
1> main.cpp
1>d:\progects\с++\2013\stl_ammeral\stl_t emplatefunctions\stl_templatefunctions\m ain.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::bas ic_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::bas ic_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_os tream<_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_os tream<_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_os tream<_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_os tream<_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_os tream<_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_os tream<_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>(st d::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::bas ic_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>::oper ator <<(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>::oper ator <<(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>::oper ator <<(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>::oper ator <<(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>::oper ator <<(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>::oper ator <<(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>::oper ator <<(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>::oper ator <<(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>::oper ator <<(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>::oper ator <<(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>::oper ator <<(__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>::oper ator <<(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>::oper ator <<(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>::oper ator <<(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>::oper ator <<(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>::oper ator <<(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>::oper ator <<(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
73 / 73 / 12
Регистрация: 22.01.2013
Сообщений: 231
23.01.2013, 16:53
вот так ошибки не будет:
C++
1
cout<<div(5., 3.)<<endl;
0
Форумчанин
Эксперт CЭксперт С++
 Аватар для MrGluck
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
23.01.2013, 16:53
оно не знает, чем точно являются 5 и 3
C++
1
cout<<div<int>(5, 3)<<endl;
1
 Аватар для Oleg_Brovko
8 / 8 / 5
Регистрация: 07.03.2012
Сообщений: 57
23.01.2013, 16:57  [ТС]
ОООО! Стоило лишь прочитать ошибку. Извините за глупость!

Добавлено через 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
Модератор
Эксперт по электронике
8979 / 6745 / 921
Регистрация: 14.02.2011
Сообщений: 23,857
23.01.2013, 17:01
Ну и зачем ты всю портянку привел??
он же ясно пишет
Цитата Сообщение от 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 / 5
Регистрация: 07.03.2012
Сообщений: 57
23.01.2013, 17:04  [ТС]
Цитата Сообщение от ValeryS Посмотреть сообщение
Ну и зачем ты всю портянку привел??
он же ясно пишет



т.е он не знает что за тип у 5, 3
то ли int, то ли char, то ли еще что
Ок. А почему, когда я поменял название функции, ошибка пропала? Извините, если спрашиваю тривиальные вещи.
0
Модератор
Эксперт по электронике
8979 / 6745 / 921
Регистрация: 14.02.2011
Сообщений: 23,857
23.01.2013, 17:05
Цитата Сообщение от Oleg_Brovko Посмотреть сообщение
А вот так работает.
чето не уловил
В чем разница
0
 Аватар для Schizorb
512 / 464 / 81
Регистрация: 07.04.2012
Сообщений: 869
Записей в блоге: 1
23.01.2013, 17:06
Цитата Сообщение от 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
Форумчанин
Эксперт CЭксперт С++
 Аватар для MrGluck
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
23.01.2013, 17:06
Oleg_Brovko, т.к. вы кидаете все функции из std в глобальные, наверняка переопределяете существующую стандартную функцию std::div.
0
Модератор
Эксперт по электронике
8979 / 6745 / 921
Регистрация: 14.02.2011
Сообщений: 23,857
23.01.2013, 17:07
Цитата Сообщение от Oleg_Brovko Посмотреть сообщение
А почему, когда я поменял название функции
а все врубился
div может быть зарегистрированной функцией и вызывалась не твоя а другая
1
 Аватар для Oleg_Brovko
8 / 8 / 5
Регистрация: 07.03.2012
Сообщений: 57
23.01.2013, 17:07  [ТС]
Цитата Сообщение от ValeryS Посмотреть сообщение
чето не уловил
В чем разница
Просто название функции з div на d поменял и заработало... ???? Почему так? Не пойму.
0
Модератор
Эксперт по электронике
8979 / 6745 / 921
Регистрация: 14.02.2011
Сообщений: 23,857
23.01.2013, 17:08
Цитата Сообщение от Schizorb Посмотреть сообщение
Как он может не знать, если это 100% int?
т.е char 5 быть не может?
0
 Аватар для Oleg_Brovko
8 / 8 / 5
Регистрация: 07.03.2012
Сообщений: 57
23.01.2013, 17:08  [ТС]
ValeryS, спасибо!
0
Форумчанин
Эксперт CЭксперт С++
 Аватар для MrGluck
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
23.01.2013, 17:09
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
 
using namespace std;
 
namespace mystd
{
    template <class T>
    T div(T x, T y)
    {
        return x/y;
    }
}
 
int main()
{
    cout<<mystd::div(5, 3)<<endl;
 
    return 0;
}
0
 Аватар для Schizorb
512 / 464 / 81
Регистрация: 07.04.2012
Сообщений: 869
Записей в блоге: 1
23.01.2013, 17:11
Цитата Сообщение от ValeryS Посмотреть сообщение
т.е char 5 быть не может?
компилятор определяет тип этого литерала как int.

А конфликт был, похоже, с этой функцией: http://www.richelbilderbeek.nl/CppDiv.htm
1
Форумчанин
Эксперт CЭксперт С++
 Аватар для MrGluck
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
23.01.2013, 17:12
Schizorb, интересен момент, что эта функция есть как и в std, так и в глобальном пространстве. Сейчас проверил, без using namespace std; или при ::div та же ошибка.

Вот еще вариантик:
C++
1
div<>(5, 3)
2
 Аватар для Oleg_Brovko
8 / 8 / 5
Регистрация: 07.03.2012
Сообщений: 57
23.01.2013, 17:13  [ТС]
Цитата Сообщение от Schizorb Посмотреть сообщение
Как он может не знать, если это 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
 Аватар для Schizorb
512 / 464 / 81
Регистрация: 07.04.2012
Сообщений: 869
Записей в блоге: 1
23.01.2013, 17:24

Не по теме:

Цитата Сообщение от MrGluck Посмотреть сообщение
Сейчас проверил, без unsing namespace std; или при ::div та же ошибка.
хм... а gcc нормально скомпилировал без using



Добавлено через 8 минут

Не по теме:

А, вру я все) gcc компилирует, только если cstdlib не подключать

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
23.01.2013, 17:24
Помогаю со студенческими работами здесь

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

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

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

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

Ошибка: cout - необъявленный идентификатор
Вот код: #include &quot;pch.h&quot; #include &lt;iostream&gt; void instructions() { cout &lt;&lt; &quot;Welcome to the most fun you've ever had with...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru