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

Как объявить переменную глобально? - C++

Восстановить пароль Регистрация
 
Leika
Сообщений: n/a
12.07.2012, 21:53     Как объявить переменную глобально? #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
#include <iostream>
using namespace std;
 
void func1();
void func2();
 
int count;
 
int main()
{
    int i;
    for (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 << '.';
на этом коде объясняется про глобальные переменные, набираю его в Dev-C++ и выдаёт ошибку в 13 строчке: 'count' undeclared (first use this function). В чём может быть проблема и что надо сделать, что бы глобальная переменная count стала действительно глобальной?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Nick Alte
Эксперт С++
1590 / 982 / 115
Регистрация: 27.09.2009
Сообщений: 1,897
Завершенные тесты: 1
12.07.2012, 21:59     Как объявить переменную глобально? #2
А это потому что нечего следовать неряшливым образцам составленных беззаботными легкотрудниками учебников и загаживать глобальную область видимости. Это я про
C++
1
using namespace std;
. В данном случае функция std::count переехала в глобальное пространство имён, стала называться просто count и конфликтовать с переменной count.
kent
Нуб со стажем
 Аватар для kent
36 / 34 / 2
Регистрация: 19.02.2012
Сообщений: 118
12.07.2012, 22:04     Как объявить переменную глобально? #3
в visual c++ 2010 нормально собирается

Не по теме:


Цитата Сообщение от Nick Alte Посмотреть сообщение
В данном случае функция std::count переехала в глобальное пространство имён
что за функция? никогда не слышал

Nick Alte
Эксперт С++
1590 / 982 / 115
Регистрация: 27.09.2009
Сообщений: 1,897
Завершенные тесты: 1
12.07.2012, 22:13     Как объявить переменную глобально? #4
Цитата Сообщение от kent Посмотреть сообщение
что за функция? никогда не слышал
std::count
Это алгоритм из заголовка <algorithm>. Видимо, в реализации STL в MinGW этот заголовок подключается в <iostream>, а в микрософтовской - нет.
Yandex
Объявления
12.07.2012, 22:13     Как объявить переменную глобально?
Ответ Создать тему
Опции темы

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