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

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

Войти
Регистрация
Восстановить пароль
 
Leika
Сообщений: n/a
#1

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

12.07.2012, 21:53. Просмотров 443. Ответов 3
Метки нет (Все метки)

здравствуйте, в книге шилдта есть такой код
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 стала действительно глобальной?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.07.2012, 21:53
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как объявить переменную глобально? (C++):

Как объявить ofstream глобально - C++
хочу чтобы не только в main но и во всех ф-ях было доступно ofstream fout(&quot;out.txt&quot;); задаю эту штуку глобально ошибка

Как глобально объявить массив не заданной размерности - C++
Цель: при нажатии на button1 создается массив и заполняется рандомными числами, длину массива получаем из TextBox1. А при нажатии на...

Как глобально объявить указатель структуры, и переменные хранящиеся в ней? - C++
Как глобально объявить указатель структуры, и переменные хранящиеся в ней? Вот указатель вроде объявил, но всё же есть ошибки. #include...

Почему нельзя объявить динамический массив глобально - C++
вот код #include &lt;iostream&gt; #include &lt;string&gt; int w = 0; string *s = new string ; using namespace std; int main { ...

Как локальную переменную сделать глобально, при это сохранив накопленное в ней значение? - C++
Ребята, помогите, пожалуйста. Вот, например, есть такой код: for (int i=0; i&lt;10; ++i) { /* здесь делается что-то полезное */...

Как объявить переменную? - C++
curl_easy_setopt(curl, CURLOPT_URL, url); Как объявить переменную? Этот код находится внутри класса.

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Nick Alte
Эксперт С++
1637 / 1009 / 119
Регистрация: 27.09.2009
Сообщений: 1,945
Завершенные тесты: 1
12.07.2012, 21:59 #2
А это потому что нечего следовать неряшливым образцам составленных беззаботными легкотрудниками учебников и загаживать глобальную область видимости. Это я про
C++
1
using namespace std;
. В данном случае функция std::count переехала в глобальное пространство имён, стала называться просто count и конфликтовать с переменной count.
2
kent
Нуб со стажем
36 / 34 / 2
Регистрация: 19.02.2012
Сообщений: 118
12.07.2012, 22:04 #3
в visual c++ 2010 нормально собирается

Не по теме:


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

0
Nick Alte
Эксперт С++
1637 / 1009 / 119
Регистрация: 27.09.2009
Сообщений: 1,945
Завершенные тесты: 1
12.07.2012, 22:13 #4
Цитата Сообщение от kent Посмотреть сообщение
что за функция? никогда не слышал
std::count
Это алгоритм из заголовка <algorithm>. Видимо, в реализации STL в MinGW этот заголовок подключается в <iostream>, а в микрософтовской - нет.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.07.2012, 22:13
Привет! Вот еще темы с ответами:

Как объявить переменную AProperties в с++ - C++
Подскажите пожалуйста как объявить переменную AProperties в с++? procedure TForm1.FormCreate(Sender: TObject); var AProperties:...

Как объявить переменную в классе? - C++
Доброго времени суток. Как правильно объявить переменную в private: Делаю так: private: std::vector&lt;double&gt;* parameters = new...

Как объявить булеву переменную - C++
с++ 6.0 - Выражения _Bool Программирую на с++ 6.0 и немогу обьявить переменную типа _Bool b = true; помогите разобраться.

Как объявить строковую переменную? - C++
которой в процессе выполнения программы будут присваиваться разные значения. Вот это: char* a = &quot;VasiaPupkin&quot;компилятор объявляет...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
12.07.2012, 22:13
Ответ Создать тему
Опции темы

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