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

Static только в пределах одного файла? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Выбор контейнера в STL http://www.cyberforum.ru/cpp-beginners/thread1531774.html
Здраствуйте! Нужно выбрать к этой задаче контейнер STL, который более выгодно подойдет, кроме вектора. Я думаю, что deque или map Помогите выбрать) Пункт 5.18 Правил Запрещено размещать задания и...
C++ Возврат ссылок День добрый, Буду благодарен если разъясните следующий вопрос: Есть некий класс. Card. Для него есть перегруженный оператор (исключающего или) XOR, выполняет схожую логику. А так же, есть... http://www.cyberforum.ru/cpp-beginners/thread1531769.html
Использование аргументов передаваемых в функцию main C++
Здравствуйте, дорогие форумчане! мне нужна помощь по интересному вопросу, который я вычитал в книге. Дело все в том, что я узнал, что в функцию main при запуске программы можно посылать строки,...
Замена двух строк в огромном файле. Есть ли оптимальный способ? C++
Есть задача, поменять в огромном текстовом файле (несколько Гб) 2 произвольные строки. Написал 2 программы: в основе 1 берем vector<string> записываем все строки, затем меняем методом swap 2...
C++ Задача на очередь с текстовым файлом http://www.cyberforum.ru/cpp-beginners/thread1531710.html
Помогите пожалуйста написать задачу. Создать очередь, информационные поля которой содержат числа из текстового файла. Вставить в конец списка (после последнего элемента) новый элемент с...
C++ Создать файл GeoTiFF на C++ Добрый день! Может пишу не в той ветке, так что не судить строго. Но суть вопроса следующая: мне нужно создать файл GeoTiFF на C++. Знаю, что существует библиотека GDAL, но её использование не совсем... подробнее

Показать сообщение отдельно
ForEveR
В астрале
Эксперт С++
7978 / 4737 / 321
Регистрация: 24.06.2010
Сообщений: 10,543
Завершенные тесты: 3
16.09.2015, 12:46
nefton, static указывает, что переменная будет доступна в модули трансляции, здесь два модуля трансляции, один Foo, второй main, поэтому и выводит log_level = 0. Вообще лучше конечно сделать не глобальную переменную, а какую-нибудь функцию или хотя бы запихнуть в namespace, но можно и через extern.

C++
1
2
3
4
5
#pragma once
 
extern int log_level;
 
void Foo();
C++
1
2
3
4
5
6
7
8
9
10
#include "Foo.h"
#include <iostream>
 
log_level = 0; 
 
using namespace std;
 
void Foo(){
    cout << "log_level = " << log_level << endl;
};
Дабы не было ошибок переопределения.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru