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

Глобальная переменная

16.04.2010, 23:24. Просмотров 718. Ответов 8
Метки нет (Все метки)

Никогда с таким не сталкивался... В общем:
Надо обьявить глобальный масив в одной функции, но чтобы его видели все другие функции. Вне функции обьявить нельзя. А что делать?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.04.2010, 23:24
Ответы с готовыми решениями:

Глобальная переменная определена в хидере. Компилятор ругается на то, что переменная переопределена несколько раз
Исходники: /* main.cpp */ #include "hider.h" int main(void) { return 0; } /* foo.cpp */

Глобальная переменная
Надо сделать глобальную переменную которая будет видна во всех файлах .cpp Непонятно где ее...

Глобальная переменная
#include "stdafx.h" #include "locale" #include "iostream" #include "conio.h" using...

Глобальная переменная
Есть двумерный символьный массив ClusterBuf объявленный глобально. В него,в ходе выполнения...

8
31 / 30 / 19
Регистрация: 18.01.2010
Сообщений: 123
16.04.2010, 23:39 2
попробуй
C++
1
extern int a
0
0 / 0 / 0
Регистрация: 30.03.2010
Сообщений: 22
17.04.2010, 00:59  [ТС] 3
Да, но... Разве это глобальная? Я пробовал с этим чтото сделать, но его то инициализировать гдето нельзя, то еще чтото...
Все учебники блин перелестал, ниче не нащел(((((
0
42 / 24 / 3
Регистрация: 16.03.2010
Сообщений: 199
17.04.2010, 09:27 4
возможно надо тип возвращаемого значения для функции сделать аналогичным типу массива. а в других функциях вызывать ту, в которой массив описан. т.е., реализовать через подпрограмму
0
0 / 0 / 0
Регистрация: 30.03.2010
Сообщений: 22
17.04.2010, 09:38  [ТС] 5
Вобщем вот... Компиллер материться что он не знает никаких б (((
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <stdio.h>
#include <stdlib.h>
void q(){
     extern int b;
     b = 1;}
void w (){
     printf ("%i\n", b);}   //Не знаю я никаких b!
int main (){
q();
w();
system ("PAUSE");
return 0;}
0
42 / 24 / 3
Регистрация: 16.03.2010
Сообщений: 199
17.04.2010, 09:54 6
а если повыше функции объявить extrern int b; ??? а в самой функции только b=1;
0
Эксперт С++
1661 / 1033 / 174
Регистрация: 27.09.2009
Сообщений: 1,945
17.04.2010, 10:46 7
Зачем советовать, если не знаешь? Никакой extern тут не поможет, он для другого служит. Переменные, которые объявляются внутри функции, только внутри неё и доступны. Более того, они создаются только при заходе в функцию, а при выходе уничтожаются. Единственный способ удаления гландов через задний проход - объявить массив статическим и заставить функцию возвращать его адрес:
C
1
2
3
4
5
6
7
8
9
10
int* GlobalArray()
{
    static int array[100];
    return array;
}
 
void OtherFunction()
{
    GlobalArray()[5] = 0;
}
1
0 / 0 / 0
Регистрация: 30.03.2010
Сообщений: 22
17.04.2010, 14:32  [ТС] 8
Не лутчий способ... Но спасибо)
Просто я мгру пишу, и хочу чтоб пользователь сам выбирал кол-во противников, и я хотел в функции диалога создать масив структур... Гг=)
0
Эксперт С++
2331 / 1704 / 148
Регистрация: 06.03.2009
Сообщений: 3,675
17.04.2010, 14:37 9
UEF, так попробуй:
C++
1
2
3
// array.cpp
int  g_size  = 0;
int* g_array = NULL;
C++
1
2
3
// array.h
extern int  g_size;
extern int* g_array;
C++
1
2
3
4
5
6
7
8
// main.cpp
#include "array.h"
 
int main() {
  g_size  = 10;
  g_array = new int[g_size];
  // и т.д.
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.04.2010, 14:37

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

Глобальная переменная локальной видимости
Я где-то читал, что если объявить переменную вне функций, а затем определить ее в функции, она...

Глобальная переменная из другой dll
Имеется сторонняя dll без исходников. Мне нужно в своей программе получить значение глобальной...

Глобальная и локальная переменная в этом коде
Почему когда я ставлю переменную int fruit в глобальную получается увидеть код в cout&lt;&lt;fruit а...

Глобальная переменная и функция в отдельном cpp
Здравствуйте, Подскажите пожалуйста, можно ли так сделать чтобы переменная объявленная глобально...

Не определяется глобальная переменная внутри функции
Доброго времени суток! Передо мной стоит задача: Задано множество точек М в трехмерном...

Динамический массив как глобальная переменная
Доброго времени суток, даже с google никак не смогу разобраться со следующей задачей: Хочу...


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

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

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