Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/35: Рейтинг темы: голосов - 35, средняя оценка - 4.91
1 / 1 / 0
Регистрация: 15.04.2013
Сообщений: 29

Не могу выполнить пример из книги

25.08.2013, 14:54. Показов 6891. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день начал изучать C++, и уже столкнулся с первой проблемой не могу скомпилировать код ниже. Пример демонстрирует разницу между локальными и глобальными переменными, взят из книги Шилд Г. "С++ Базовый курс". Компилятор VS ругается (IntelliSense: count не является однозначным 2 раза 13 и 21 строки). Не могу понять почему?
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
#include <iostream>
using namespace std;
 
void func1();
void func2();
int count;
 
int main()
{
    int i;
    for (int i=0; i<=10; i++)
    {
        count = i*2;
        func1();
    }
    return 0;
}
 
void func1() 
{
    cout << "count = " << count;
    cout << '\n';
    func2();
}
 
void func2() 
{
    int count;
    for (count=0; count<3; count++) cout << "."; 
    
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
25.08.2013, 14:54
Ответы с готовыми решениями:

Пример из Книги Б.Эккеля (не могу разобраться)
Только начал изучать язык по книге этого автора. Наткнулся на пример по параграфу switch, программа, генерирующая случайную букву и...

Пример из книги
Тут решил поизучать прерывания и почитал книгу Ревича Практическое применение микроконтроллеров AVR пример на 111 странице. Че то я по...

Пример из книги
Пытаюсь разобрать примеры из книги Харрингтона &quot;PHP-трюки&quot;. Трюк 3 (стр.46) Все более-менее понятно. Кроме одного фрагмента. ...

14
347 / 292 / 37
Регистрация: 23.03.2012
Сообщений: 838
25.08.2013, 14:59
C++
1
using namespace std;
Не советую открывать весь неймспейс. В данном случае идет конфликт из-за \vc\include\xutility(3251) : iterator_traits<_Iter>::difference_type std::count(_InIt,_InIt,const _Ty &)'
0
2688 / 2260 / 244
Регистрация: 03.07.2012
Сообщений: 8,231
Записей в блоге: 1
25.08.2013, 15:03
Похоже, имя используется в std. Замени на count0, например.
1
1 / 1 / 0
Регистрация: 15.04.2013
Сообщений: 29
25.08.2013, 15:07  [ТС]
Цитата Сообщение от Nekto Посмотреть сообщение
C++
1
using namespace std;
Не советую открывать весь неймспейс. В данном случае идет конфликт из-за \vc\include\xutility(3251) : iterator_traits<_Iter>::difference_type std::count(_InIt,_InIt,const _Ty &)'
Как выполнить пример тогда?

Добавлено через 4 минуты
Цитата Сообщение от zer0mail Посмотреть сообщение
Похоже, имя используется в std. Замени на count0, например.
Спасибо помогло, а как можно просмотреть что там в std, чтобы не получить такой ошибки, получается count можно спокойно занести в список зарезервированных слов?
0
 Аватар для gromo
383 / 281 / 31
Регистрация: 04.09.2009
Сообщений: 1,225
25.08.2013, 15:19
Цитата Сообщение от programmer92ua Посмотреть сообщение
Спасибо помогло, а как можно просмотреть что там в std, чтобы не получить такой ошибки, получается count можно спокойно занести в список зарезервированных слов?
Вся стандартная библиотека в std:: . Состаришься, пока посмотришь Вместо
C++
1
using namespace std;
используй
C++
1
using std::cout;
, тогда будет доступно только имя cout, и в случае конфликта с твоим собственным именем (count) компиллер выдаст ошибку . А если using namespace std; то ошибка проявится только в рантайме или при использовании конфликтного имени.
Почитай материал по теме "Селективная директива using"
1
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
25.08.2013, 16:31
Цитата Сообщение от programmer92ua Посмотреть сообщение
Компилятор VS ругается (IntelliSense: count не является однозначным 2 раза 13 и 21 строки). Не могу понять почему?
А я не могу понять: почему у меня НЕ ругается?
Миниатюры
Не могу выполнить пример из книги  
0
Неэпический
 Аватар для Croessmah
18149 / 10731 / 2067
Регистрация: 27.09.2012
Сообщений: 27,035
Записей в блоге: 1
25.08.2013, 16:43
Цитата Сообщение от programmer92ua Посмотреть сообщение
Не могу понять почему?
потому что
Цитата Сообщение от programmer92ua Посмотреть сообщение
C++
1
using namespace std;
В STL есть алгоритм std::count

Цитата Сообщение от programmer92ua Посмотреть сообщение
чтобы не получить такой ошибки
не использовать using namespace

Цитата Сообщение от programmer92ua Посмотреть сообщение
а как можно просмотреть что там в std
Например, раскурить стандарт + документацию к компилятору
1
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
25.08.2013, 16:46
Croessmah, у мня почему не ругается?
0
Неэпический
 Аватар для Croessmah
18149 / 10731 / 2067
Регистрация: 27.09.2012
Сообщений: 27,035
Записей в блоге: 1
25.08.2013, 16:49
Цитата Сообщение от alsav22 Посмотреть сообщение
Croessmah, у мня почему не ругается?
Да кто ж его знает. Может студии разных версий и в файле iostream Вашего компилятора этот алгоритм неявно не подключается, а у ТС подключается.
1
Неэпический
 Аватар для Croessmah
18149 / 10731 / 2067
Регистрация: 27.09.2012
Сообщений: 27,035
Записей в блоге: 1
25.08.2013, 16:52
Вот скриншот то еще скажете что врем
0
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
25.08.2013, 16:55
Да, ТС не указал студию... Кстати, mingv тоже ошибки не выдаёт... Но согласен, что лучше так не делать.

Добавлено через 55 секунд
Цитата Сообщение от Croessmah Посмотреть сообщение
Вот скриншот то еще скажете что врем
А мой скрин тогда как же?
0
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
25.08.2013, 16:57
Ну тогда, вот вам ещё...
Миниатюры
Не могу выполнить пример из книги  
0
Неэпический
 Аватар для Croessmah
18149 / 10731 / 2067
Регистрация: 27.09.2012
Сообщений: 27,035
Записей в блоге: 1
25.08.2013, 16:59
Цитата Сообщение от alsav22 Посмотреть сообщение
А мой скрин тогда как же?
Из 10-ой студии? А мой из 12-ой

Добавлено через 1 минуту
Если что, то вот Вам еще пример:
"error C2872: неоднозначный символ" при переменной count
0
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
25.08.2013, 17:01
Цитата Сообщение от Croessmah Посмотреть сообщение
Из 10-ой студии? А мой из 12-ой
Ну, тут уж, что сказать... 12-я - это ж... не 10-я...
mingv тоже не прав?
0
Неэпический
 Аватар для Croessmah
18149 / 10731 / 2067
Регистрация: 27.09.2012
Сообщений: 27,035
Записей в блоге: 1
25.08.2013, 17:05
Цитата Сообщение от alsav22 Посмотреть сообщение
mingv тоже не прав?
В данном случае тут все правы, ибо что во что подключается определяется реализацией, а не стандартом.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.08.2013, 17:05
Помогаю со студенческими работами здесь

Пример из книги
В учебнике Флэнагана написано, что типа можно использовать символы Юникода из других категорий, помимо ASCII, при условии, что они не...

| и || (Пример из книги)
Отрывок программы, где идет перегрузка оператора |. Истина - если хотя бы одна из координат !=0. А Ложь, если все все =0. class ThreeD...

пример из книги
#include &lt;iostream.h&gt; long summa (int k,...){ int *pik=&amp;k; char *pc=(char *)pik; cout &lt;&lt;&quot; *pc=&quot;&lt;&lt;*pc&lt;&lt;&quot;...

Непонятный пример из книги
Не могу никак разобраться в одном маленьком примере из книги, речь идёт про условную операцию. Распишите плз, как действует при i=0 i=1 i= 2

Пример с книги не работает
первый же пример с книги по вебгл не работает &lt;!DOCTYPE html&gt; &lt;html lang=“en&quot;&gt; &lt;head&gt; &lt;meta charset=&quot;utf-8&quot; /&gt; ...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Вывод данных через динамический список в справочнике
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru