Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
Leika
1

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

12.07.2012, 21:53. Просмотров 727. Ответов 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 стала действительно глобальной?
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.07.2012, 21:53
Ответы с готовыми решениями:

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

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

Как глобально объявить указатель структуры, и переменные хранящиеся в ней?
Как глобально объявить указатель структуры, и переменные хранящиеся в ней? Вот указатель вроде...

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

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

Не по теме:


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

0
Эксперт С++
1659 / 1031 / 174
Регистрация: 27.09.2009
Сообщений: 1,945
12.07.2012, 22:13 4
Цитата Сообщение от kent Посмотреть сообщение
что за функция? никогда не слышал
std::count
Это алгоритм из заголовка <algorithm>. Видимо, в реализации STL в MinGW этот заголовок подключается в <iostream>, а в микрософтовской - нет.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.07.2012, 22:13

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

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

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

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

Как объявить переменную в классе?
Доброго времени суток. Как правильно объявить переменную в private: Делаю так: private:...


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

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

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